Public Access
feat(user): pick or turn off the dashboard banner
This commit is contained in:
1 parent
1d88c30d48
commit
508e628d86
11 files changed
+46
-20
No files matched your search
@@ -407,7 +407,7 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
void getCurrentUserV1_ShowsAppearance() throws Exception {
|
||||
var email = "test@example.com";
|
||||
var settings = UserSettings.builder().language("en").theme("dark")
|
||||
.appearance(new Appearance("blue", "round", true, 620L)).build();
|
||||
.appearance(new Appearance("blue", "round", true, 620L, 1086940L, false)).build();
|
||||
SecurityContextHolder.getContext().setAuthentication(
|
||||
new UsernamePasswordAuthenticationToken(new UserPrincipal("1", email, null), null, Collections.emptyList())
|
||||
);
|
||||
@@ -418,7 +418,9 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
.andExpect(jsonPath("$.settings.appearance.accent").value("blue"))
|
||||
.andExpect(jsonPath("$.settings.appearance.corners").value("round"))
|
||||
.andExpect(jsonPath("$.settings.appearance.wideLayout").value(true))
|
||||
.andExpect(jsonPath("$.settings.appearance.backgroundAppid").value(620));
|
||||
.andExpect(jsonPath("$.settings.appearance.backgroundAppid").value(620))
|
||||
.andExpect(jsonPath("$.settings.appearance.bannerAppid").value(1086940))
|
||||
.andExpect(jsonPath("$.settings.appearance.showBanner").value(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -435,7 +437,9 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
.andExpect(jsonPath("$.settings.appearance.accent").value("violet"))
|
||||
.andExpect(jsonPath("$.settings.appearance.corners").value("default"))
|
||||
.andExpect(jsonPath("$.settings.appearance.wideLayout").value(false))
|
||||
.andExpect(jsonPath("$.settings.appearance.backgroundAppid").isEmpty());
|
||||
.andExpect(jsonPath("$.settings.appearance.backgroundAppid").isEmpty())
|
||||
.andExpect(jsonPath("$.settings.appearance.bannerAppid").isEmpty())
|
||||
.andExpect(jsonPath("$.settings.appearance.showBanner").value(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -445,14 +449,15 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
|
||||
mockMvc.perform(put("/api/users/settings/appearance")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content("{\"accent\":\"green\",\"corners\":\"sharp\",\"wideLayout\":true,\"backgroundAppid\":620}"))
|
||||
.content("{\"accent\":\"green\",\"corners\":\"sharp\",\"wideLayout\":true,\"backgroundAppid\":620,"
|
||||
+ "\"bannerAppid\":1086940,\"showBanner\":false}"))
|
||||
.andExpect(status().isNoContent());
|
||||
|
||||
verify(userService).updateAppearance(1L, new Appearance("green", "sharp", true, 620L));
|
||||
verify(userService).updateAppearance(1L, new Appearance("green", "sharp", true, 620L, 1086940L, false));
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateAppearance_MissingWideLayoutAndBackground_AreOffAndNone() throws Exception {
|
||||
void updateAppearance_MissingOptionalFields_AreTheDefaults() throws Exception {
|
||||
SecurityContextHolder.getContext().setAuthentication(new UsernamePasswordAuthenticationToken(
|
||||
new UserPrincipal("1", "test@example.com", null), null, Collections.emptyList()));
|
||||
|
||||
@@ -461,7 +466,7 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
.content("{\"accent\":\"violet\",\"corners\":\"default\"}"))
|
||||
.andExpect(status().isNoContent());
|
||||
|
||||
verify(userService).updateAppearance(1L, new Appearance("violet", "default", false, null));
|
||||
verify(userService).updateAppearance(1L, new Appearance("violet", "default", false, null, null, true));
|
||||
}
|
||||
|
||||
// Each body differs from a valid one in one field only, so the 400 comes from that field's constraint.
|
||||
@@ -473,7 +478,8 @@ class UserControllerTest extends AbstractWebMvcTest {
|
||||
"{\"accent\":\"violet\",\"corners\":\"pointy\"}",
|
||||
"{\"accent\":\"violet\"}",
|
||||
"{\"accent\":\"violet\",\"corners\":\"default\",\"backgroundAppid\":0}",
|
||||
"{\"accent\":\"violet\",\"corners\":\"default\",\"backgroundAppid\":-620}"
|
||||
"{\"accent\":\"violet\",\"corners\":\"default\",\"backgroundAppid\":-620}",
|
||||
"{\"accent\":\"violet\",\"corners\":\"default\",\"bannerAppid\":0}"
|
||||
})
|
||||
void updateAppearance_UnknownOrMissingValue_IsRejected(String body) throws Exception {
|
||||
SecurityContextHolder.getContext().setAuthentication(new UsernamePasswordAuthenticationToken(
|
||||
|
||||
@@ -210,12 +210,12 @@ class UserRepositoryTest extends AbstractPersistenceTest {
|
||||
.build());
|
||||
entityManager.flush();
|
||||
|
||||
userRepository.updateAppearance(userEntity.getId(), new Appearance("orange", "round", true, 620L));
|
||||
userRepository.updateAppearance(userEntity.getId(), new Appearance("orange", "round", true, 620L, 1086940L, false));
|
||||
entityManager.flush();
|
||||
entityManager.clear();
|
||||
|
||||
var settings = userRepository.findByEmail("appearance@example.com").orElseThrow().getSettings();
|
||||
assertEquals(new Appearance("orange", "round", true, 620L), settings.getAppearance());
|
||||
assertEquals(new Appearance("orange", "round", true, 620L, 1086940L, false), settings.getAppearance());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -227,7 +227,7 @@ class UserRepositoryTest extends AbstractPersistenceTest {
|
||||
.registrationDate(LocalDateTime.now())
|
||||
.build());
|
||||
entityManager.flush();
|
||||
userRepository.updateAppearance(userEntity.getId(), new Appearance("pink", "sharp", false, 220L));
|
||||
userRepository.updateAppearance(userEntity.getId(), new Appearance("pink", "sharp", false, 220L, null, true));
|
||||
entityManager.flush();
|
||||
|
||||
userRepository.updateSettings(userEntity.getId(), null, null,
|
||||
@@ -236,7 +236,7 @@ class UserRepositoryTest extends AbstractPersistenceTest {
|
||||
entityManager.clear();
|
||||
|
||||
var settings = userRepository.findByEmail("keep@example.com").orElseThrow().getSettings();
|
||||
assertEquals(new Appearance("pink", "sharp", false, 220L), settings.getAppearance());
|
||||
assertEquals(new Appearance("pink", "sharp", false, 220L, null, true), settings.getAppearance());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -135,7 +135,7 @@ class UserServiceTest extends AbstractUnitTest {
|
||||
|
||||
@Test
|
||||
void updateAppearance_StoresItWithoutANewToken() {
|
||||
var appearance = new Appearance("red", "round", false, null);
|
||||
var appearance = new Appearance("red", "round", false, null, null, true);
|
||||
|
||||
userService.updateAppearance(1L, appearance);
|
||||
|
||||
|
||||
Reference in new issue
Block a user