public async Task <CanOrganisationBeDeletedFlags> Validate(Guid organisationId, int year, FacilityType facilityType) { var result = new CanOrganisationBeDeletedFlags(); if (await organisationDataAccess.HasReturns(organisationId, year)) { result |= CanOrganisationBeDeletedFlags.HasReturns; } if (await organisationDataAccess.HasActiveUsers(organisationId)) { result |= CanOrganisationBeDeletedFlags.HasActiveUsers; } if (await organisationDataAccess.HasScheme(organisationId)) { result |= CanOrganisationBeDeletedFlags.HasScheme; } if (await organisationDataAccess.HasFacility(organisationId, FacilityType.Aatf)) { result |= CanOrganisationBeDeletedFlags.HasAatf; } if (await organisationDataAccess.HasFacility(organisationId, FacilityType.Ae)) { result |= CanOrganisationBeDeletedFlags.HasAe; } if (await organisationDataAccess.HasMultipleOfEntityFacility(organisationId, facilityType)) { result |= CanOrganisationBeDeletedFlags.HasMultipleOfFacility; } return(result); }
public async Task Validate_GivenHasFacilityAeCheck_FlagsShouldBeValid(bool hasAe) { A.CallTo(() => organisationDataAccess.HasFacility(organisationId, FacilityType.Ae)).Returns(hasAe); var result = await getOrganisationDeletionStatus.Validate(organisationId, ComplianceYear, FacilityType.Aatf); if (hasAe) { result.Should().HaveFlag(CanOrganisationBeDeletedFlags.HasAe); } else { result.Should().NotHaveFlag(CanOrganisationBeDeletedFlags.HasAe); } }