コード例 #1
0
        public async Task HandleAsync_GivenAddReturnRequestAndQuarterThatShouldBeCreatedDoesNotMatch_InvalidOperationExceptionExpected()
        {
            var request = new AddReturn {
                OrganisationId = Guid.NewGuid(), Year = year, Quarter = quarter, FacilityType = FacilityType.Aatf
            };

            A.CallTo(() => returnFactory.GetReturnQuarter(request.OrganisationId, request.FacilityType))
            .Returns(new Quarter(year, QuarterType.Q2));

            var result = await Record.ExceptionAsync(() => handler.HandleAsync(request));

            result.Should().BeOfType <InvalidOperationException>();
            A.CallTo(() => returnDataAccess.Submit(A <Return> ._)).MustNotHaveHappened();
        }
コード例 #2
0
        public async Task HandleAsync_GivenAddReturnRequestAndReturnAlreadyExists_InvalidOperationExceptionExpected()
        {
            var request = new AddReturn {
                OrganisationId = Guid.NewGuid(), Year = year, Quarter = quarter, FacilityType = FacilityType.Aatf
            };

            A.CallTo(() => returnFactoryDataAccess.HasReturnQuarter(request.OrganisationId, request.Year, (Domain.DataReturns.QuarterType)request.Quarter, request.FacilityType))
            .Returns(true);

            var result = await Record.ExceptionAsync(() => handler.HandleAsync(request));

            result.Should().BeOfType <InvalidOperationException>();
            A.CallTo(() => returnDataAccess.Submit(A <Return> ._)).MustNotHaveHappened();
        }
コード例 #3
0
        public async Task HandleAsync_GivenAddReturnRequest_OrganisationShouldBeRetrieved()
        {
            var organisationId = Guid.NewGuid();
            var organisation   = A.Fake <Organisation>();
            var request        = new AddReturn {
                OrganisationId = organisationId, FacilityType = Core.AatfReturn.FacilityType.Aatf, Year = year, Quarter = quarter
            };

            A.CallTo(() => organisation.Id).Returns(organisationId);

            await handler.HandleAsync(request);

            A.CallTo(() => genericDataAccess.GetById <Organisation>(request.OrganisationId)).MustHaveHappened(Repeated.Exactly.Once);
        }
コード例 #4
0
ファイル: ReturnsController.cs プロジェクト: DEFRA/prsd-weee
        public async Task <ActionResult> Index(ReturnsViewModel viewModel)
        {
            using (var client = apiClient())
            {
                AddReturn request = new AddReturn()
                {
                    OrganisationId = viewModel.OrganisationId,
                    FacilityType   = FacilityType.Ae,
                    Quarter        = viewModel.Quarter,
                    Year           = viewModel.ComplianceYear
                };

                Guid returnId = await client.SendAsync(User.GetAccessToken(), request);

                return(AeRedirect.ExportedWholeWeee(viewModel.OrganisationId, returnId));
            }
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        public ActionResult <Return> Post([FromBody] AddReturn _return)
        {
            var newReturn = new Return
            {
                AuthorId = _return.AuthorId,
                BookId   = _return.BookId
            };

            var bookTmp = _BooksDbContext.Books.FirstOrDefault(b => b.Id == _return.BookId);

            if (bookTmp == null)
            {
                return(NotFound("El libro no existe."));
            }
            else
            {
                bookTmp.Copies += 1;
            }

            _BooksDbContext.Returns.Add(newReturn);
            _BooksDbContext.SaveChanges();

            return(newReturn);
        }