diff --git a/restservice/src/main/java/com/plannaplan/responses/models/TokenResponse.java b/restservice/src/main/java/com/plannaplan/responses/models/TokenResponse.java new file mode 100755 index 0000000..4ec22d0 --- /dev/null +++ b/restservice/src/main/java/com/plannaplan/responses/models/TokenResponse.java @@ -0,0 +1,34 @@ +package com.plannaplan.responses.models; + +import com.plannaplan.entities.User; + +public class TokenResponse { + private String token; + private Long id; + private String authorityRole; + private String email; + + public TokenResponse(User user) { + this.id = user.getId(); + this.authorityRole = user.getRole().toString(); + this.email = user.getEmail(); + this.token = user.getToken(); + } + + public String getEmail() { + return email; + } + + public String getAuthorityRole() { + return authorityRole; + } + + public Long getId() { + return id; + } + + public String getToken() { + return token; + } + +} diff --git a/restservice/src/test/java/com/plannaplan/responses/models/TokenResponseTest.java b/restservice/src/test/java/com/plannaplan/responses/models/TokenResponseTest.java new file mode 100755 index 0000000..bca74b6 --- /dev/null +++ b/restservice/src/test/java/com/plannaplan/responses/models/TokenResponseTest.java @@ -0,0 +1,69 @@ +package com.plannaplan.responses.models; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.lang.reflect.Field; + +import com.plannaplan.entities.User; +import com.plannaplan.types.UserRoles; + +import org.junit.Test; + +public class TokenResponseTest { + + public TokenResponse testMapUserEntiutyToTokenResponse(UserRoles role) + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + final String token = "totalnie-prawdziwy-token"; + final String mail = "shouldMapUserEntiutyToTokenResponse@TokenResponse.test"; + + final User userToMap = new User("Franek", "Kimono", mail, null, role); + + Field reader = User.class.getDeclaredField("id"); + reader.setAccessible(true); + reader.set(userToMap, Long.valueOf(12)); + + reader = User.class.getDeclaredField("token"); + reader.setAccessible(true); + reader.set(userToMap, token); + + final TokenResponse response = new TokenResponse(userToMap); + + assertTrue(response.getId() == 12); + assertTrue(response.getToken().equals(token)); + assertTrue(response.getEmail().equals(mail)); + return response; + } + + @Test + public void shouldMapAdminToTokenResonse() + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + + final TokenResponse response = testMapUserEntiutyToTokenResponse(UserRoles.ADMIN); + assertTrue(response.getAuthorityRole().equals("ADMIN")); + } + + @Test + public void shouldMapStudentToTokenResonse() + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + + final TokenResponse response = testMapUserEntiutyToTokenResponse(UserRoles.STUDENT); + assertTrue(response.getAuthorityRole().equals("STUDENT")); + } + + @Test + public void shouldMapDeaneryToTokenResonse() + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + + final TokenResponse response = testMapUserEntiutyToTokenResponse(UserRoles.DEANERY); + assertTrue(response.getAuthorityRole().equals("DEANERY")); + } + + @Test + public void shouldMapTestUserToTokenResonse() + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + + final TokenResponse response = testMapUserEntiutyToTokenResponse(UserRoles.TEST_USER); + assertTrue(response.getAuthorityRole().equals("TEST_USER")); + } + +}