package service; import api.v1.Customer; import exceptions.PoseidonException; import models.CustomerModel; import org.junit.Test; import org.junit.rules.ExpectedException; import util.InMemoryDbTest; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; public class CustomerServiceTest extends InMemoryDbTest { @Test public void listCustomers(){ CustomerService service = new CustomerService(fakeUser); List<CustomerModel> customers = service.findAll(); assertNotNull("null customerlist",customers); assertEquals("customerlist",3,customers.size()); } @Test public void createNewCustomer(){ Customer aCustomer = new Customer(); aCustomer.name = "Test customer"; aCustomer.password = "test000"; aCustomer.username = "tester"; aCustomer.info = "Info"; CustomerModel newCustomer = new CustomerService(fakeUser).createOrUpdate(aCustomer); assertNotNull("New customer", newCustomer); assertNotNull("New customer id",newCustomer.id); CustomerModel customerFromDb = new CustomerService(fakeUser).findByName("Test customer"); assertEquals("UserID",newCustomer.id,customerFromDb.id); assertEquals("Name",newCustomer.name,customerFromDb.name); assertEquals("Username",newCustomer.username,customerFromDb.username); assertEquals("Password",newCustomer.password,customerFromDb.password); assertEquals("Info",newCustomer.info,customerFromDb.info); } @Test(expected = PoseidonException.class) public void checkExistingCustomerName(){ Customer aCustomer = new Customer(); aCustomer.name = "Aibel AS"; aCustomer.username = "tester"; aCustomer.info = "Info"; CustomerModel c = new CustomerService(fakeUser).checkCustomerExists(aCustomer); } @Test(expected = PoseidonException.class) public void checkExistingCustomerUsername(){ Customer aCustomer = new Customer(); aCustomer.username = "aconacmg"; CustomerModel c = new CustomerService(fakeUser).checkCustomerExists(aCustomer); } @Test(expected = PoseidonException.class) public void checkExistingCustomerNameKundedb(){ Customer aCustomer = new Customer(); aCustomer.name = "Kunde Kundesen"; CustomerModel c = new CustomerService(fakeUser).checkCustomerExists(aCustomer); } @Test(expected = PoseidonException.class) public void checkExistingCustomerUserNameKundedb(){ Customer aCustomer = new Customer(); aCustomer.username = "kunde_k"; CustomerModel c = new CustomerService(fakeUser).checkCustomerExists(aCustomer); } @Test public void checkNotExistingCustomer(){ Customer aCustomer = new Customer(); aCustomer.username = "xyz"; CustomerModel c = new CustomerService(fakeUser).checkCustomerExists(aCustomer); assertNull("customer ",c); } }