@Test public void testFindAllServices() { serviceDao.create(service1); List<Service> foundServices = serviceDao.findAll(); assertTrue(foundServices.contains(service1)); assertFalse(foundServices.contains(service2)); serviceDao.create(service2); foundServices = serviceDao.findAll(); assertTrue(foundServices.contains(service1)); assertTrue(foundServices.contains(service2)); }
@Test public void testFindById() { serviceDao.create(service1); Service found = serviceDao.findById(service1.getId()); assertEquals(found, service1); }
@Test public void testCreateService() { assertTrue(serviceDao.findAll().isEmpty()); serviceDao.create(service1); assertEquals(serviceDao.findAll().size(), 1); }
@Test(expectedExceptions = DataAccessException.class) public void testTwoServicesWithSameName() { service1.setName("Barum"); service2.setName("Barum"); serviceDao.create(service1); serviceDao.create(service2); }
@Test public void testUpdateService() { serviceDao.create(service1); assertEquals("Engine oil replacement", service1.getName()); service1.setName("Barum"); service1.setPrice(new BigDecimal("333.00")); serviceDao.update(service1); Service updatedService = serviceDao.findById(service1.getId()); assertEquals("Barum", updatedService.getName()); assertEquals(updatedService.getPrice(), new BigDecimal("333.00")); }
@Test public void testFindServicesWithPriceBetween() { serviceDao.create(service1); serviceDao.create(service2); BigDecimal thousand = new BigDecimal("1000.00"); BigDecimal fiveHundred = new BigDecimal("500.00"); assertEquals(serviceDao.getServicesWithPriceBetween(BigDecimal.ONE, thousand).size(), 2); assertEquals(serviceDao.getServicesWithPriceBetween(BigDecimal.ONE, fiveHundred).size(), 1); assertEquals(serviceDao.getServicesWithPriceBetween(fiveHundred, thousand).size(), 1); assertEquals(serviceDao.getServicesWithPriceBetween(BigDecimal.ONE, BigDecimal.TEN).size(), 0); }
@Test(expectedExceptions = ConstraintViolationException.class) public void testNullPrice() { service1.setPrice(null); serviceDao.create(service1); }