@Test public void checkAccess() { logon(TEST_FINANCE_USER); RechnungDO rechnung = new RechnungDO(); int number = rechnungDao.getNextNumber(rechnung); rechnung.setDatum(new Date(System.currentTimeMillis())); rechnung.setFaelligkeit(new Date(System.currentTimeMillis())); rechnung.setProjekt(initTestDB.addProjekt(null, 1, "foo")); rechnung.setNummer(number); rechnung.addPosition(createPosition(2, "100.50", "0.19", "test")); rechnung.addPosition(createPosition(1, "50.00", "0", "test")); assertEquals("289.19", String.valueOf(rechnung.getGrossSum().setScale(2))); Serializable id = rechnungDao.save(rechnung); dbNumber++; rechnung = rechnungDao.getById(id); logon(TEST_CONTROLLING_USER); rechnungDao.getById(id); checkNoWriteAccess(id, rechnung, "Controlling"); logon(TEST_USER); checkNoAccess(id, rechnung, "Other"); logon(TEST_PROJECT_MANAGER_USER); checkNoAccess(id, rechnung, "Project manager"); logon(TEST_ADMIN_USER); checkNoAccess(id, rechnung, "Admin "); }
private void checkNoAccess(Serializable id, RechnungDO rechnung, String who) { try { RechnungFilter filter = new RechnungFilter(); rechnungDao.getList(filter); fail("AccessException expected: " + who + " users should not have select list access to invoices."); } catch (AccessException ex) { // OK } try { rechnungDao.getById(id); fail("AccessException expected: " + who + " users should not have select access to invoices."); } catch (AccessException ex) { // OK } checkNoHistoryAccess(id, rechnung, who); checkNoWriteAccess(id, rechnung, who); }
rechnung1.addPosition(createPosition(1, "50.00", "0", "test")); Serializable id = rechnungDao.save(rechnung1); final RechnungDO rechnung1FromDb = rechnungDao.getById(id); assertEquals(dbNumber++, rechnung1FromDb.getNummer().intValue()); rechnung2.addPosition(createPosition(1, "50.00", "0", "test")); id = rechnungDao.save(rechnung2); final RechnungDO rechnung2FromDb = rechnungDao.getById(id); assertEquals(dbNumber++, rechnung2FromDb.getNummer().intValue()); rechnung3.setProjekt(initTestDB.addProjekt(null, 1, "foo")); id = rechnungDao.save(rechnung3); final RechnungDO rechnung3FromDb = rechnungDao.getById(id); assertEquals(null, rechnung3FromDb.getNummer());
assertTrue(new BigDecimal("200").compareTo(RechnungDao.getNettoSumme(set)) == 0); final RechnungDO rechnung = rechnungDao.getById(rechnung2.getId()); rechnung.getPosition(0).setAuftragsPosition(null); rechnungDao.update(rechnung);