Skip to content

Commit

Permalink
#663 | Able to assign individual to user of SubjectType isGroup() false
Browse files Browse the repository at this point in the history
  • Loading branch information
himeshr committed Dec 4, 2023
1 parent 4ab479f commit b38e9ca
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ public AvniMetaDataRuleService(GroupRoleRepository groupRoleRepository) {
* @return Boolean value indicating whether the SubjectType is capable of being configured for Direct Assignment.
*/
public boolean isDirectAssignmentAllowedFor(SubjectType subjectType) {
if (subjectType.isGroup()) return true;

List<GroupRole> groupRolesSubjectTypeIsPartOf = groupRoleRepository.findByMemberSubjectTypeAndIsVoidedFalse(subjectType);
return groupRolesSubjectTypeIsPartOf.stream().noneMatch(groupRole -> groupRole.getGroupSubjectType().isDirectlyAssignable());
return true;
// if (subjectType.isGroup()) return true;
//
// List<GroupRole> groupRolesSubjectTypeIsPartOf = groupRoleRepository.findByMemberSubjectTypeAndIsVoidedFalse(subjectType);
// return groupRolesSubjectTypeIsPartOf.stream().noneMatch(groupRole -> groupRole.getGroupSubjectType().isDirectlyAssignable());
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package org.avni.server.service;

import org.avni.server.common.AbstractControllerIntegrationTest;
Expand Down Expand Up @@ -41,11 +42,11 @@ public class UserSubjectAssignmentServiceIntegrationTest extends AbstractControl
private TestGroupSubjectService testGroupSubjectService;

@Test
public void assignAllMemberSubjectsOnGroupAssignment___disallow_Member_Subject_To_Be_Assigned_Without_GroupSubject() throws ValidationException {
public void assignAllMemberSubjectsOnGroupAssignment___allow_Member_Subject_To_Be_Assigned_Without_GroupSubject() throws ValidationException {
TestDataSetupService.TestOrganisationData testOrganisationData = testDataSetupService.setupOrganisation();
TestDataSetupService.TestCatchmentData testCatchmentData = testDataSetupService.setupACatchment();

SubjectType groupSubjectType = testSubjectTypeService.createWithDefaults(new SubjectTypeBuilder().setMandatoryFieldsForNewEntity().setUuid("st_GroupForDirectAssignment").setName("st_GroupForDirectAssignment").setDirectlyAssignable(true).setGroup(true).build());
SubjectType groupSubjectType = testSubjectTypeService.createWithDefaults(new SubjectTypeBuilder().setMandatoryFieldsForNewEntity().setUuid("st_GroupForDirectAssignment").setName("st_GroupForDirectAssignment").setDirectlyAssignable(false).setGroup(true).build());
SubjectType memberSubjectType = testSubjectTypeService.createWithDefaults(new SubjectTypeBuilder().setMandatoryFieldsForNewEntity().setUuid("st_DirectAssignment").setName("st_DirectAssignment").setDirectlyAssignable(true).build());
SubjectType memberSubjectTypeButNotDirectlyAssignable = testSubjectTypeService.createWithDefaults(new SubjectTypeBuilder().setMandatoryFieldsForNewEntity().setUuid("st_NoDirectAssignment").setName("st_NoDirectAssignment").build());
GroupRole groupRoleInvolvingDirectAssignment = groupRoleRepository.save(new TestGroupRoleBuilder().withMandatoryFieldsForNewEntity().withGroupSubjectType(groupSubjectType).withMemberSubjectType(memberSubjectType).build());
Expand All @@ -65,7 +66,6 @@ public void assignAllMemberSubjectsOnGroupAssignment___disallow_Member_Subject_T

try {
userSubjectAssignmentService.assignSubjects(createContract(user3, directlyAssignableMember1, false));
fail();
} catch (ValidationException ignored) {
}

Expand Down

0 comments on commit b38e9ca

Please sign in to comment.