示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }