public async Task HandleAsync_NoExternalAccess_ThrowsSecurityException() { var authorization = new AuthorizationBuilder().DenyExternalAreaAccess().Build(); handler = new AddReturnReportOnHandler(authorization, A.Dummy <IGenericDataAccess>(), context); Func <Task> action = async() => await handler.HandleAsync(A.Dummy <AddReturnReportOn>()); await action.Should().ThrowAsync <SecurityException>(); }
public AddReturnReportOnHandlerTests() { var weeeAuthorization = A.Fake <IWeeeAuthorization>(); context = A.Fake <WeeeContext>(); dataAccess = A.Fake <IGenericDataAccess>(); fixture = new Fixture(); handler = new AddReturnReportOnHandler(weeeAuthorization, dataAccess, context); }
public async Task DeselectedOptionAndDataIsDeleted() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new GenericDataAccess(context); var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var @return = await CreateReturn(context, database, organisation); var country = await context.Countries.SingleAsync(c => c.Name == "France"); var questions = context.ReportOnQuestions.ToList(); var returnReportOn = new List <ReturnReportOn>(); foreach (var question in questions) { returnReportOn.Add(new ReturnReportOn(@return.Id, question.Id)); } var aatf = await CreateAatf(database, @return); var scheme = await CreateScheme(context, organisation); var sentOnSiteAddress = await CreateAddress(database); var sentOnSOperatorAddress = await CreateAddress(database); var reusedSiteAddress = await CreateAddress(database); await dataAccess.AddMany <ReturnReportOn>(returnReportOn); await CreateWeeeReusedAmounts(new ObligatedReusedDataAccess(context), new AatfSiteDataAccess(context, dataAccess), @return, aatf, reusedSiteAddress); await CreateWeeeReceivedAmounts(new ObligatedReceivedDataAccess(context), new ReturnSchemeDataAccess(context), @return, aatf, scheme); await CreateWeeeSentOnAmounts(new ObligatedSentOnDataAccess(context), @return, aatf, sentOnSiteAddress, sentOnSOperatorAddress); await CreateNonObligatedWeee(new NonObligatedDataAccess(context), @return); var submittedReturnOptions = context.ReturnReportOns.Where(r => r.ReturnId == @return.Id).ToList(); var(submittedWeeeReused, submittedWeeeReusedAddresses, submittedWeeeReusedAmounts, submittedWeeeReusedSites) = await RetrieveSubmittedWeeeReusedData(context, @return, dataAccess); var(submittedWeeeReceived, submittedWeeeReturnScheme, submittedWeeeReceivedAmounts) = await RetrieveSubmittedWeeeReceivedData(context, @return, dataAccess); var(submittedWeeeSentOn, submittedWeeeSentOnAddresses, submittedWeeeSentOnAmounts) = await RetrieveSubmittedWeeeSentOnData(context, @return, dataAccess); var submittedNonObligatedWeee = context.NonObligatedWeee.Where(w => w.ReturnId == @return.Id).ToList(); var handler = new AddReturnReportOnHandler(A.Fake <IWeeeAuthorization>(), dataAccess, context); var deselectOptions = new List <int>() { 1, 2, 3, 4, 5 }; var coreReportOnQuestions = CreateReportQuestions(); var request = new AddReturnReportOn() { DeselectedOptions = deselectOptions, Options = coreReportOnQuestions, ReturnId = @return.Id, SelectedOptions = new List <int>() }; await handler.HandleAsync(request); AssertWeeeReceivedDeletion(context, submittedWeeeReceived, submittedWeeeReturnScheme, submittedWeeeReceivedAmounts); AssertWeeeReusedDeletion(context, submittedWeeeReused, submittedWeeeReusedAddresses, submittedWeeeReusedAmounts, submittedWeeeReusedSites); AssertWeeeSentOnDeletion(context, submittedWeeeSentOn, submittedWeeeSentOnAddresses, submittedWeeeSentOnAmounts); AssertNonObligatedWeeeDeletion(context, submittedNonObligatedWeee); } }