/** * Given that I want to execute a groovy business rule that uses the persistence api * * <p>When I call {@link ApplicationController#runOperation(ExecutionContext)} * * <p>Then I must check the resulting ExecutionContext with all the uses checked * * @throws Exception */ @Test public void testPersistenceAPIGroovyOperation() throws Exception { DomainObject dObj = findDomainObject("Conta", windApp); ModelReference instance = bean.createNewInstance(new CommonUserContext("TEST_SESSID"), dObj); IStorage storage = windApp.getBean(IStorage.BEAN_NAME, IStorage.class); Reflect.on(instance).set("nome", "Itau"); Reflect.on(instance).set("tipo", "Credito"); Reflect.on(instance).set("saldo", 154.54d); storage.save(instance); PlatformMessageRegistry pmr = new PlatformMessageRegistry(); pmr.init(); Locale ptBrLoc = new Locale("pt", "BR"); windApp.addResourceBundle( ptBrLoc, new PropertyResourceBundle( getClass().getResourceAsStream("/wind-app-controller-messages-mock.properties"))); windApp.setCurrentLocale(ptBrLoc); ExecutionContext<ModelReference> ctx = new ExecutionContext<ModelReference>(); ctx.setOperation(dObj.getOperation("UsesOfPersistenceAPI")); ctx.setUserContext(new CommonUserContext("TEST_SESSID")); ctx.setMeta(dObj); ctx = bean.runOperation(ctx); List cList = (List) ctx.getSession().get("cList"); assertNotNull(cList); assertEquals(1, cList.size()); }
/** * Given that I want to open an object instance * * <p>When I call {@link ApplicationController#openObjectInstance(java.io.Serializable, * ModelReference)} * * <p>Then I must check the fully loaded instance. */ @Test public void testOpenObjectInstance() throws Exception { DataSource ds = windApp.getBean("datasource", DataSource.class); JdbcTemplate jdbcTemplate = new JdbcTemplate(ds, false); jdbcTemplate.execute("delete from conta"); DomainObject dObj = findDomainObject("Conta", windApp); ModelReference instance = bean.createNewInstance(new CommonUserContext("TEST_SESSID"), dObj); IStorage storage = windApp.getBean(IStorage.BEAN_NAME, IStorage.class); Reflect.on(instance).set("nome", "Itau"); Reflect.on(instance).set("tipo", "Credito"); Reflect.on(instance).set("saldo", 154.54d); storage.save(instance); ModelReference opened = bean.openObjectInstance(new CommonUserContext("TEST_SESSID"), instance); assertNotNull(opened); assertEquals(opened.getAppId(), "testApp"); assertEquals(opened.getObjId(), "Conta"); assertEquals(Reflect.on(opened).get("nome"), "Itau"); assertEquals(Reflect.on(opened).get("tipo"), "Credito"); assertEquals(Reflect.on(opened).get("saldo"), 154.54d); }