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(); }
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(); }
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); }
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)); } }
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); }
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); }