@Test public void testIfSourceUpdateWorksCorrectly_shouldUpdateEngineeringObject() throws Exception { SourceModelA sourceA = new SourceModelA(); sourceA.setEdbId("sourceA/3"); sourceA.setName("sourceNameA"); SourceModelB sourceB = new SourceModelB(); sourceB.setEdbId("sourceB/3"); sourceB.setName("sourceNameB"); EKBCommit commit = getTestEKBCommit().addInsert(sourceA).addInsert(sourceB); persist.commit(commit); EOModel eo = new EOModel(); eo.setEdbId("eo/3"); eo.setRefModelA("sourceA/3"); eo.setRefModelB("sourceB/3"); commit = getTestEKBCommit().addInsert(eo); persist.commit(commit); SourceModelA source = query.getModel(SourceModelA.class, getModelOid("sourceA/3")); source.setName("updatedNameA"); commit = getTestEKBCommit().addUpdate(source); persist.commit(commit); eo = query.getModel(EOModel.class, getModelOid("eo/3")); assertThat(eo.getNameA(), is("updatedNameA")); }
@Test public void testIfEngineeringObjectsAreInsertedCorrectly_shouldInsertObjectAndLoadReferencedValues() throws Exception { SourceModelA sourceA = new SourceModelA(); sourceA.setEdbId("sourceA/1"); sourceA.setName("sourceNameA"); SourceModelB sourceB = new SourceModelB(); sourceB.setEdbId("sourceB/1"); sourceB.setName("sourceNameB"); EKBCommit commit = getTestEKBCommit().addInsert(sourceA).addInsert(sourceB); persist.commit(commit); EOModel eo = new EOModel(); eo.setEdbId("eo/1"); eo.setRefModelA("sourceA/1"); eo.setRefModelB("sourceB/1"); commit = getTestEKBCommit().addInsert(eo); persist.commit(commit); EOModel result = query.getModel(EOModel.class, getModelOid("eo/1")); String nameA = result.getNameA(); String nameB = result.getNameB(); assertThat(nameA, is(sourceA.getName())); assertThat(nameB, is(sourceB.getName())); }
@Test public void testIfEOUpdateWorksCorrectlyWithOnlyOneSource_shouldUpdateSourceModel() throws Exception { SourceModelA sourceA = new SourceModelA(); sourceA.setEdbId("sourceA/4"); sourceA.setName("sourceNameA"); EKBCommit commit = getTestEKBCommit().addInsert(sourceA); persist.commit(commit); EOModel eo = new EOModel(); eo.setEdbId("eo/4"); eo.setRefModelA("sourceA/4"); commit = getTestEKBCommit().addInsert(eo); persist.commit(commit); eo = query.getModel(EOModel.class, getModelOid("eo/4")); eo.setNameA("updatedNameA"); commit = getTestEKBCommit().addUpdate(eo); persist.commit(commit); SourceModelA result = query.getModel(SourceModelA.class, getModelOid("sourceA/4")); assertThat(result.getName(), is("updatedNameA")); }