/**
* Test of findByName method, of class CustomerDAO.
*/
@Test
public void testFindByName() {
Customer cust1 = newCustomer("Laco", "Springel", "Ulica1 22, Dolny Kubin", "+421912345678");
customerDAO.create(cust1);
Customer cust2 = newCustomer("Peter", "Janosciak", "Ulica2 33, Brezno", "+421911222333");
customerDAO.create(cust2);
String firstName;
String lastName;
try {
customerDAO.findByName(null, null);
fail("String firstName and lastNameis null");
} catch (DataAccessException e) {
// ok
} catch (Exception e) {
fail("String name is null - should have been thrown another exception");
}
firstName = "Lacy";
lastName = "Springel";
List<Customer> customers = customerDAO.findByName(firstName, lastName);
assertTrue("ExtraService is not in DB", customers.isEmpty());
firstName = "Laco";
lastName = "Springel";
customers = customerDAO.findByName(firstName, lastName);
assertEquals(cust1.getId(), customers.get(0).getId());
assertDeepEquals(cust1, customers.get(0));
Customer cust3 = newCustomer("Jakub", "Kmet", "Ulica3 44, Zilina", "+421911111111");
customerDAO.create(cust3);
Customer cust4 = newCustomer("Dusan", "Gorcak", "Ulica4 55, Lokca", "+421977777777");
customerDAO.create(cust4);
List<Customer> customerList = Arrays.asList(new Customer[]{cust1, cust2, cust3, cust4});
customers = customerDAO.findByName(firstName, lastName);