public async Task HandleAsync_CopyAatf_ValidInput_AddsAatf(Core.AatfReturn.FacilityType facilityType) { var competentAuthority = A.Fake <UKCompetentAuthority>(); var localarea = A.Fake <LocalArea>(); var panarea = A.Fake <PanArea>(); var aatf = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(), Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now, A.Dummy <Core.Shared.PanAreaData>(), A.Dummy <Core.Admin.LocalAreaData>()) { FacilityType = facilityType }; var aatfId = Guid.NewGuid(); var request = new AddAatf() { Aatf = aatf, AatfContact = A.Dummy <AatfContactData>(), OrganisationId = Guid.NewGuid(), AatfId = aatfId }; var expectedFacilityType = facilityType.ToDomainEnumeration <Domain.AatfReturn.FacilityType>(); A.CallTo(() => commonDataAccess.FetchCompetentAuthority(aatf.CompetentAuthority.Abbreviation)).Returns(competentAuthority); A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(aatf.LocalAreaData.Id)).Returns(localarea); A.CallTo(() => commonDataAccess.FetchLookup <PanArea>(aatf.PanAreaData.Id)).Returns(panarea); var result = await handler.HandleAsync(request); A.CallTo(() => dataAccess.Add <Domain.AatfReturn.Aatf>(A <Domain.AatfReturn.Aatf> .That.Matches( c => c.Name == aatf.Name && c.ApprovalNumber == aatf.ApprovalNumber && c.CompetentAuthority.Equals(competentAuthority) && c.LocalArea.Equals(localarea) && c.PanArea.Equals(panarea) && c.Name == aatf.Name && c.SiteAddress.Id == aatf.SiteAddress.Id && Enumeration.FromValue <Domain.AatfReturn.AatfSize>(c.Size.Value) == Enumeration.FromValue <Domain.AatfReturn.AatfSize>(aatf.Size.Value) && Enumeration.FromValue <Domain.AatfReturn.AatfStatus>(c.AatfStatus.Value) == Enumeration.FromValue <Domain.AatfReturn.AatfStatus>(aatf.AatfStatus.Value) && c.ApprovalDate == aatf.ApprovalDate && c.ComplianceYear == aatf.ComplianceYear && c.FacilityType == expectedFacilityType && c.AatfId == aatfId))).MustHaveHappened(Repeated.Exactly.Once); result.Should().Be(true); }
public async Task HandleAsync_WithNoLocalArea_LocalAreaIsNull(Core.AatfReturn.FacilityType facilityType) { var aatf = new AatfData(Guid.NewGuid(), "name", "approval number", 2019, A.Dummy <Core.Shared.UKCompetentAuthorityData>(), Core.AatfReturn.AatfStatus.Approved, A.Dummy <AatfAddressData>(), Core.AatfReturn.AatfSize.Large, DateTime.Now, A.Dummy <Core.Shared.PanAreaData>(), null) { FacilityType = facilityType }; var aatfId = Guid.NewGuid(); var request = new AddAatf() { Aatf = aatf, AatfContact = A.Dummy <AatfContactData>(), OrganisationId = Guid.NewGuid() }; var result = await handler.HandleAsync(request); A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(A <Guid> ._)).MustNotHaveHappened(); }
public AatfsByOrganisationAndFacilityTypeSpecification(Guid organisationId, FacilityType facilityType) { OrganisationId = organisationId; FacilityType = facilityType; }
public async Task FetchAatfByApprovalNumber_GivenApprovalNumber_ReturnedShouldBeAatf(Core.AatfReturn.FacilityType type) { FacilityType facilityType; if (type == Core.AatfReturn.FacilityType.Aatf) { facilityType = FacilityType.Aatf; } else { facilityType = FacilityType.Ae; } using (var database = new DatabaseWrapper()) { ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); FetchAatfDataAccess dataAccess = new FetchAatfDataAccess(database.WeeeContext, quarterWindowFactory); GenericDataAccess genericDataAccess = new GenericDataAccess(database.WeeeContext); string approvalNumber = "test"; Aatf aatf = await CreateAatf(database, facilityType, DateTime.Now, 2019, approvalNumber); await genericDataAccess.Add(aatf); Aatf result = await dataAccess.FetchByApprovalNumber(approvalNumber); Assert.NotNull(result); Assert.Equal(approvalNumber, result.ApprovalNumber); Assert.Equal(facilityType, result.FacilityType); } }
public async Task HandleAsync_GivenGetAatfRequestWithSpecifiedFacilityType_CorrectFacilityReturned(FacilityType facilityType) { var aatfs = CreateAatfAeList(); A.CallTo(() => dataAccess.GetLatestAatfs()).Returns(aatfs); var request = new GetAatfs(facilityType); var returnDataList = new AatfDataList(A.Dummy <Guid>(), A.Dummy <string>(), A.Dummy <UKCompetentAuthorityData>(), A.Dummy <string>(), A.Dummy <Core.AatfReturn.AatfStatus>(), A.Dummy <OrganisationData>(), facilityType, (Int16)2019, Guid.NewGuid(), null); A.CallTo(() => fakeMapper.Map(A <Aatf> ._)).Returns(returnDataList); var result = await handler.HandleAsync(request); result.Count.Should().Be(1); result[0].FacilityType.Should().Be(facilityType); }
private List <AatfDataList> SortAatfs(List <Aatf> aatfs, FacilityType facilityType) { return(aatfs.OrderBy(a => a.Name).Where(w => w.FacilityType.Value == (int)facilityType).Select(s => aatfmap.Map(s)).ToList()); }
public async Task HandleAsync_GivenAddReturnRequest_DataAccessSubmitsIsCalled(QuarterType quarterType, FacilityType facility) { var request = new AddReturn { OrganisationId = Guid.NewGuid(), Quarter = quarterType, Year = year, FacilityType = Core.AatfReturn.FacilityType.Aatf }; var @return = A.Dummy <Return>(); var organisation = new Organisation(); var userId = Guid.NewGuid(); A.CallTo(() => userContext.UserId).Returns(userId); A.CallTo(() => genericDataAccess.GetById <Organisation>(request.OrganisationId)).Returns(organisation); A.CallTo(() => returnFactory.GetReturnQuarter(A <Guid> ._, A <FacilityType> ._)).Returns(new Quarter(year, quarterType)); await handler.HandleAsync(request); A.CallTo(() => returnDataAccess.Submit(A <Return> .That.Matches(c => c.Quarter.Year == request.Year && (int)c.Quarter.Q == (int)quarterType && c.Organisation.Equals(organisation) && c.CreatedById.Equals(userId.ToString())))).MustHaveHappened(Repeated.Exactly.Once); }