Exemplo n.º 1
0
        public async Task HandleAsync_GivenFacilityType_CorrectReturnsReturned(Core.AatfReturn.FacilityType facilityType)
        {
            var organisationId = Guid.NewGuid();
            var returns        = A.CollectionOfFake <Return>(2);

            foreach (var @return in returns)
            {
                @return.FacilityType = Domain.AatfReturn.FacilityType.Ae;
            }

            var aatfReturn = A.Fake <Return>();

            aatfReturn.FacilityType = Domain.AatfReturn.FacilityType.Aatf;
            returns.Add(aatfReturn);

            A.CallTo(() => returns.ElementAt(0).Id).Returns(Guid.NewGuid());
            A.CallTo(() => returns.ElementAt(1).Id).Returns(Guid.NewGuid());
            A.CallTo(() => returns.ElementAt(2).Id).Returns(Guid.NewGuid());

            A.CallTo(() => returnDataAccess.GetByOrganisationId(organisationId)).Returns(returns);

            var result = await handler.HandleAsync(new GetReturns(organisationId, facilityType));

            if (facilityType == Core.AatfReturn.FacilityType.Ae)
            {
                A.CallTo((() => populatedReturn.GetReturnData(returns.ElementAt(0).Id, false))).MustHaveHappened(Repeated.Exactly.Once);
                A.CallTo((() => populatedReturn.GetReturnData(returns.ElementAt(1).Id, false))).MustHaveHappened(Repeated.Exactly.Once);
            }

            if (facilityType == Core.AatfReturn.FacilityType.Aatf)
            {
                A.CallTo((() => populatedReturn.GetReturnData(returns.ElementAt(2).Id, false))).MustHaveHappened(Repeated.Exactly.Once);
            }
        }
Exemplo n.º 2
0
        public async Task HandleAsync_GivenOrganisation_ReturnQuarterShouldBeMapped(Core.AatfReturn.FacilityType facilityType)
        {
            var message       = new GetReturns(Guid.NewGuid(), facilityType);
            var returnQuarter = new Quarter(2019, QuarterType.Q1);

            A.CallTo(() => returnFactory.GetReturnQuarter(message.OrganisationId, message.Facility)).Returns(returnQuarter);

            var result = await handler.HandleAsync(message);

            result.ReturnQuarter.Should().Be(returnQuarter);
        }
Exemplo n.º 3
0
        public async Task HandleAsync_GivenOrganisation_ReturnQuarterShouldBeRetrieved(Core.AatfReturn.FacilityType facilityType)
        {
            var message = new GetReturns(Guid.NewGuid(), facilityType);

            var result = await handler.HandleAsync(message);

            A.CallTo(() => returnFactory.GetReturnQuarter(message.OrganisationId, message.Facility)).MustHaveHappenedOnceExactly();
        }