Skip to content

Commit 8164739

Browse files
authored
AYS-438 | Usage of boolean Variable Has Been Fixed in AysPermission and AysPermissionEntity (#373)
1 parent 3eb7bfc commit 8164739

10 files changed

+98
-52
lines changed

src/main/java/org/ays/auth/model/AysPermission.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ public class AysPermission extends BaseDomainModel {
2121
private String id;
2222
private String name;
2323
private AysPermissionCategory category;
24-
private boolean isSuper;
24+
private Boolean isSuper;
25+
26+
public boolean isSuper() {
27+
return isSuper;
28+
}
2529

2630
}

src/main/java/org/ays/auth/model/entity/AysPermissionEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ public class AysPermissionEntity extends BaseEntity {
3737
private AysPermissionCategory category;
3838

3939
@Column(name = "IS_SUPER")
40-
private boolean isSuper;
40+
private Boolean isSuper;
4141

4242
}

src/test/java/org/ays/auth/controller/AysRoleEndToEndTest.java

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@
1818
import org.ays.auth.port.AysPermissionReadPort;
1919
import org.ays.auth.port.AysRoleReadPort;
2020
import org.ays.auth.port.AysRoleSavePort;
21+
import org.ays.common.model.response.AysErrorResponse;
2122
import org.ays.common.model.response.AysPageResponse;
2223
import org.ays.common.model.response.AysResponse;
2324
import org.ays.common.model.response.AysResponseBuilder;
25+
import org.ays.common.util.AysRandomUtil;
26+
import org.ays.common.util.exception.model.response.AysErrorResponseBuilder;
2427
import org.ays.institution.model.Institution;
2528
import org.ays.institution.model.InstitutionBuilder;
2629
import org.ays.util.AysMockMvcRequestBuilders;
@@ -369,6 +372,40 @@ void givenValidRoleCreateRequest_whenRoleCreated_thenReturnSuccess() throws Exce
369372
));
370373
}
371374

375+
@Test
376+
void givenRoleCreateRequest_whenRequestHasSuperPermissionsAndUserIsNotSuperAdmin_thenReturnBadRequestError() throws Exception {
377+
378+
// Initialize
379+
List<AysPermission> permissions = permissionReadPort.findAll();
380+
Set<String> permissionIds = permissions.stream()
381+
.map(AysPermission::getId)
382+
.collect(Collectors.toSet());
383+
384+
// Given
385+
AysRoleCreateRequest createRequest = new AysRoleCreateRequestBuilder()
386+
.withName(AysRandomUtil.generateText(10))
387+
.withPermissionIds(permissionIds)
388+
.build();
389+
390+
// Then
391+
String endpoint = BASE_PATH.concat("/role");
392+
MockHttpServletRequestBuilder mockHttpServletRequestBuilder = AysMockMvcRequestBuilders
393+
.post(endpoint, adminToken.getAccessToken(), createRequest);
394+
395+
AysErrorResponse mockErrorResponse = AysErrorResponseBuilder.BAD_REQUEST;
396+
397+
aysMockMvc.perform(mockHttpServletRequestBuilder, mockErrorResponse)
398+
.andExpect(AysMockResultMatchersBuilders.status()
399+
.isBadRequest())
400+
.andExpect(AysMockResultMatchersBuilders.subErrors()
401+
.doesNotHaveJsonPath());
402+
403+
// Verify
404+
Optional<AysRole> role = roleReadPort.findByName(createRequest.getName());
405+
406+
Assertions.assertFalse(role.isPresent());
407+
}
408+
372409

373410
@Test
374411
void givenValidIdAndRoleUpdateRequest_whenSuperRoleUpdated_thenReturnSuccess() throws Exception {
@@ -476,6 +513,54 @@ void givenValidRoleUpdateRequest_whenRoleUpdated_thenReturnSuccess() throws Exce
476513
));
477514
}
478515

516+
@Test
517+
void givenValidIdAndRoleUpdateRequest_whenRequestHasSuperPermissionsAndUserIsNotSuperAdmin_thenReturnBadRequestError() throws Exception {
518+
519+
// Initialize
520+
List<AysPermission> permissions = permissionReadPort.findAll();
521+
Set<String> permissionIds = permissions.stream()
522+
.map(AysPermission::getId)
523+
.collect(Collectors.toSet());
524+
525+
AysRole role = roleSavePort.save(
526+
new AysRoleBuilder()
527+
.withValidValues()
528+
.withoutId()
529+
.withName(AysRandomUtil.generateText(10))
530+
.withPermissions(permissions)
531+
.withInstitution(new InstitutionBuilder().withId(AysValidTestData.Admin.INSTITUTION_ID).build())
532+
.build()
533+
);
534+
535+
// Given
536+
String id = role.getId();
537+
AysRoleUpdateRequest updateRequest = new AysRoleUpdateRequestBuilder()
538+
.withPermissionIds(permissionIds)
539+
.build();
540+
541+
// Then
542+
String endpoint = BASE_PATH.concat("/role/").concat(id);
543+
MockHttpServletRequestBuilder mockHttpServletRequestBuilder = AysMockMvcRequestBuilders
544+
.put(endpoint, adminToken.getAccessToken(), updateRequest);
545+
546+
AysErrorResponse mockErrorResponse = AysErrorResponseBuilder.BAD_REQUEST;
547+
548+
aysMockMvc.perform(mockHttpServletRequestBuilder, mockErrorResponse)
549+
.andExpect(AysMockResultMatchersBuilders.status()
550+
.isBadRequest())
551+
.andExpect(AysMockResultMatchersBuilders.subErrors()
552+
.doesNotHaveJsonPath());
553+
554+
// Verify
555+
Optional<AysRole> roleFromDatabase = roleReadPort.findById(id);
556+
557+
Assertions.assertTrue(roleFromDatabase.isPresent());
558+
Assertions.assertNotEquals(updateRequest.getName(), roleFromDatabase.get().getName());
559+
Assertions.assertNull(roleFromDatabase.get().getUpdatedUser());
560+
Assertions.assertNull(roleFromDatabase.get().getUpdatedAt());
561+
}
562+
563+
479564
@Test
480565
void givenId_whenRoleActivated_thenReturnSuccess() throws Exception {
481566

src/test/java/org/ays/auth/model/AdminRegistrationApplicationBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import org.ays.auth.model.enums.AdminRegistrationApplicationStatus;
44
import org.ays.common.model.TestDataBuilder;
5-
import org.ays.common.util.AysRandomTestUtil;
65
import org.ays.common.util.AysRandomUtil;
76
import org.ays.institution.model.Institution;
87
import org.ays.institution.model.InstitutionBuilder;
@@ -27,7 +26,7 @@ public AdminRegistrationApplicationBuilder withValidValues() {
2726
.withId(AysRandomUtil.generateUUID())
2827
.withInstitution(institution)
2928
.withUser(user)
30-
.withReason(AysRandomTestUtil.generateString(41))
29+
.withReason(AysRandomUtil.generateText(41))
3130
.withStatus(AdminRegistrationApplicationStatus.WAITING);
3231
}
3332

src/test/java/org/ays/auth/model/AysPermissionBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public AysPermissionBuilder withCategory(AysPermissionCategory category) {
3232
}
3333

3434
public AysPermissionBuilder withIsSuper(boolean isSuper) {
35-
data.setSuper(isSuper);
35+
data.setIsSuper(isSuper);
3636
return this;
3737
}
3838

src/test/java/org/ays/auth/model/entity/AdminRegistrationApplicationEntityBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import org.ays.auth.model.enums.AdminRegistrationApplicationStatus;
44
import org.ays.common.model.TestDataBuilder;
5-
import org.ays.common.util.AysRandomTestUtil;
65
import org.ays.common.util.AysRandomUtil;
76
import org.ays.institution.model.entity.InstitutionEntity;
87
import org.ays.institution.model.entity.InstitutionEntityBuilder;
@@ -27,7 +26,7 @@ public AdminRegistrationApplicationEntityBuilder withValidValues() {
2726
.withStatus(AdminRegistrationApplicationStatus.WAITING)
2827
.withUser(userEntity)
2928
.withInstitution(institutionEntity)
30-
.withReason(AysRandomTestUtil.generateString(41));
29+
.withReason(AysRandomUtil.generateText(41));
3130
}
3231

3332
public AdminRegistrationApplicationEntityBuilder withId(String id) {

src/test/java/org/ays/auth/model/entity/AysPermissionEntityBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public AysPermissionEntityBuilder withCategory(AysPermissionCategory category) {
3333
}
3434

3535
public AysPermissionEntityBuilder withIsSuper(boolean isSuper) {
36-
data.setSuper(isSuper);
36+
data.setIsSuper(isSuper);
3737
return this;
3838
}
3939

src/test/java/org/ays/auth/model/request/AdminRegistrationApplicationCreateRequestBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.ays.auth.model.request;
22

33
import org.ays.common.model.TestDataBuilder;
4-
import org.ays.common.util.AysRandomTestUtil;
54
import org.ays.common.util.AysRandomUtil;
65

76
public class AdminRegistrationApplicationCreateRequestBuilder extends TestDataBuilder<AdminRegistrationApplicationCreateRequest> {
@@ -13,7 +12,7 @@ public AdminRegistrationApplicationCreateRequestBuilder() {
1312
public AdminRegistrationApplicationCreateRequestBuilder withValidValues() {
1413
return this
1514
.withInstitutionId(AysRandomUtil.generateUUID())
16-
.withReason(AysRandomTestUtil.generateString(50));
15+
.withReason(AysRandomUtil.generateText(50));
1716
}
1817

1918
public AdminRegistrationApplicationCreateRequestBuilder withInstitutionId(String institutionId) {

src/test/java/org/ays/auth/model/request/AdminRegistrationApplicationRejectRequestBuilder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.ays.auth.model.request;
22

33
import org.ays.common.model.TestDataBuilder;
4-
import org.ays.common.util.AysRandomTestUtil;
4+
import org.ays.common.util.AysRandomUtil;
55

66
public class AdminRegistrationApplicationRejectRequestBuilder extends TestDataBuilder<AdminRegistrationApplicationRejectRequest> {
77

@@ -11,10 +11,9 @@ public AdminRegistrationApplicationRejectRequestBuilder() {
1111

1212
public AdminRegistrationApplicationRejectRequestBuilder withValidValues() {
1313
return this
14-
.withRejectReason(AysRandomTestUtil.generateString(50));
14+
.withRejectReason(AysRandomUtil.generateText(50));
1515
}
1616

17-
1817
public AdminRegistrationApplicationRejectRequestBuilder withRejectReason(String rejectReason) {
1918
data.setRejectReason(rejectReason);
2019
return this;

src/test/java/org/ays/common/util/AysRandomTestUtil.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)