Exemple #1
0
        public async Task HandleAsync_ApprovalNumberDoesntExists_ReturnsFalse()
        {
            string approvalNumber = "app";

            Domain.AatfReturn.Aatf aatf = null;

            A.CallTo(() => dataAccess.FetchByApprovalNumber(approvalNumber, null)).Returns(aatf);

            bool result = await handler.HandleAsync(new CheckApprovalNumberIsUnique(approvalNumber));

            Assert.False(result);
        }
Exemple #2
0
        public async Task HandleAsync_ApprovalNumberAlreadyExists_ReturnsTrue()
        {
            string approvalNumber = "app";

            Domain.AatfReturn.Aatf aatf = A.Fake <Domain.AatfReturn.Aatf>();
            A.CallTo(() => aatf.ApprovalNumber).Returns(approvalNumber);

            A.CallTo(() => dataAccess.FetchByApprovalNumber(approvalNumber, null)).Returns(aatf);

            bool result = await handler.HandleAsync(new CheckApprovalNumberIsUnique(approvalNumber));

            Assert.True(result);
        }
        public async Task <bool> HandleAsync(AddAatf message)
        {
            authorization.EnsureCanAccessInternalArea();
            authorization.EnsureUserInRole(Roles.InternalAdmin);

            var siteAddress = addressMapper.Map(message.Aatf.SiteAddress);

            var organisation = await dataAccess.GetById <Organisation>(message.OrganisationId);

            var competentAuthority = await commonDataAccess.FetchCompetentAuthority(message.Aatf.CompetentAuthority.Abbreviation);

            var contact = contactMapper.Map(message.AatfContact);

            LocalArea localArea = null;

            PanArea panArea = null;

            if (message.Aatf.LocalAreaData != null)
            {
                localArea = await commonDataAccess.FetchLookup <LocalArea>(message.Aatf.LocalAreaData.Id);
            }

            if (message.Aatf.PanAreaData != null)
            {
                panArea = await commonDataAccess.FetchLookup <PanArea>(message.Aatf.PanAreaData.Id);
            }

            var aatf = new Domain.AatfReturn.Aatf(
                message.Aatf.Name,
                competentAuthority,
                message.Aatf.ApprovalNumber,
                Enumeration.FromValue <Domain.AatfReturn.AatfStatus>(message.Aatf.AatfStatus.Value),
                organisation,
                siteAddress,
                Enumeration.FromValue <Domain.AatfReturn.AatfSize>(message.Aatf.Size.Value),
                message.Aatf.ApprovalDate.GetValueOrDefault(),
                contact,
                message.Aatf.FacilityType.ToDomainEnumeration <Domain.AatfReturn.FacilityType>(),
                message.Aatf.ComplianceYear,
                localArea,
                panArea, message.AatfId);

            await dataAccess.Add <Domain.AatfReturn.Aatf>(aatf);

            return(true);
        }