package org.berzerkula.builddb; import org.berzerkula.builddb.models.AppUser; import org.berzerkula.builddb.repositories.TestH2AppUserRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.Date; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class BuilddbApplicationAppUserTests { /*@LocalServerPort private int port; private String baseUrl = "http://localhost:" + port + "/"; private String basePkgUrl = "http://localhost:" + port + "/pkgs";*/ private String firstName = "John"; private String lastName = "Doe"; private String email = "john.doe@example.com"; private String phone = "870-555-5555"; private String address = "612 Wolf Avenue"; private String password = "johndoesecret"; private String role = "client"; private Date createdAt = new Date(); @Autowired private TestH2AppUserRepository h2Repository; private AppUser testUser = new AppUser(); @BeforeEach public void setUp() { h2Repository.deleteAll(); testUser = setUserDetails(firstName, lastName, email, phone, address, password, role, createdAt); h2Repository.save(testUser); } @Test public void testAddAppUser() { testUser = setUserDetails(firstName, lastName, "john.doe2@example.com", phone, address, password, role, createdAt); h2Repository.save(testUser); List responsePkgs = h2Repository.findAll(); assertNotNull(responsePkgs); assertEquals(2, responsePkgs.size()); assertEquals(firstName, responsePkgs.get(1).getFirstName()); assertEquals(lastName, responsePkgs.get(1).getLastName()); assertEquals("john.doe2@example.com", responsePkgs.get(1).getEmail()); assertEquals(phone, responsePkgs.get(1).getPhone()); assertEquals(address, responsePkgs.get(1).getAddress()); assertEquals(password, responsePkgs.get(1).getPassword()); assertEquals(role, responsePkgs.get(1).getRole()); } @Test public void testGetAppUser() { h2Repository.save(testUser); List users = h2Repository.findAll(); assertEquals(1, users.size()); assertEquals(1, h2Repository.findAll().size()); assertEquals(createdAt, users.get(0).getCreatedAt()); } @Test public void testUpdateAppUser() { List users = h2Repository.findAll(); testUser = users.get(0); testUser.setFirstName("Jack"); h2Repository.save(testUser); users = h2Repository.findAll(); assertEquals(1, users.size()); assertNotEquals(0, testUser.getId()); assertEquals("Jack", testUser.getFirstName()); } @Test public void tsetDeleteAppUser() { List users = h2Repository.findAll(); testUser = users.get(0); h2Repository.delete(testUser); users = h2Repository.findAll(); assertEquals(0, users.size()); } private AppUser setUserDetails(String firstName, String lastName, String email, String phone, String address, String password, String role, Date createdAt) { AppUser testUser = new AppUser(); testUser.setFirstName(firstName); testUser.setLastName(lastName); testUser.setEmail(email); testUser.setPhone(phone); testUser.setAddress(address); testUser.setPassword(password); testUser.setRole(role); testUser.setCreatedAt(createdAt); return testUser; } @Test void contextLoads() { } }