public async Task GetAllAatfSentOnDataCsvHandler_GivenObligationTypeParameter_FileNameIsCorrect() { SystemTime.Freeze(new DateTime(2019, 8, 27, 11, 30, 1)); var request = new GetAllAatfSentOnDataCsv(ComplianceYear, "B2B", null, null); var data = await handler.HandleAsync(request); data.FileName.Should().Be("2019_B2B_AATF WEEE sent on for treatment_27082019_1130.csv"); }
public async Task GetAllAatfSentOnDataCsvHandler_NotInternalUser_ThrowsSecurityException() { var authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build(); var handler = new GetAllAatfSentOnDataCsvHandler(authorization, context, commonDataAccess); var request = new GetAllAatfSentOnDataCsv(ComplianceYear, string.Empty, null, null); // Act Func <Task> action = async() => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <SecurityException>(action); }
public async Task GetAllAatfSentOnDataCsvHandler_NoComplianceYear_ThrowsArgumentException() { // Arrange var complianceYear = 0; var request = new GetAllAatfSentOnDataCsv(complianceYear, string.Empty, null, null); // Act Func <Task> action = async() => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <ArgumentException>(action); }
public async Task GetAllAatfSentOnDataCsvHandler_MandatoryParameters_ReturnsFileName() { SystemTime.Freeze(new DateTime(2019, 8, 27, 11, 30, 1)); var request = new GetAllAatfSentOnDataCsv(ComplianceYear, string.Empty, null, null); // Act var data = await handler.HandleAsync(request); // Assert data.FileName.Should().Be("2019_AATF WEEE sent on for treatment_27082019_1130.csv"); SystemTime.Unfreeze(); }
public async Task GetAllAatfSentOnDataCsvHandler_GivenAreaParameter_FileNameIsCorrect() { SystemTime.Freeze(new DateTime(2019, 8, 27, 11, 30, 1)); var panArea = fixture.Create <PanArea>(); var request = new GetAllAatfSentOnDataCsv(ComplianceYear, null, null, panArea.Id); A.CallTo(() => commonDataAccess.FetchLookup <PanArea>(panArea.Id)).Returns(panArea); var data = await handler.HandleAsync(request); data.FileName.Should().Be($"2019_{panArea.Name}_AATF WEEE sent on for treatment_27082019_1130.csv"); }
public async Task GetAllAatfSentOnDataCsvHandler_GivenAuthorityParameter_FileNameIsCorrect() { SystemTime.Freeze(new DateTime(2019, 8, 27, 11, 30, 1)); var authority = fixture.Create <UKCompetentAuthority>(); var request = new GetAllAatfSentOnDataCsv(ComplianceYear, null, authority.Id, null); A.CallTo(() => commonDataAccess.FetchCompetentAuthorityById(authority.Id)).Returns(authority); var data = await handler.HandleAsync(request); data.FileName.Should().Be($"2019_{authority.Abbreviation}_AATF WEEE sent on for treatment_27082019_1130.csv"); }
public async Task <ActionResult> DownloadAatfSentOnDataCsv(int complianceYear, string obligationType, Guid?authorityId, Guid?panArea) { CSVFileData fileData; var request = new GetAllAatfSentOnDataCsv(complianceYear, obligationType, authorityId, panArea); using (var client = apiClient()) { fileData = await client.SendAsync(User.GetAccessToken(), request); } var data = new UTF8Encoding().GetBytes(fileData.FileContent); return(File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileData.FileName))); }
public async Task GetAllAatfSentOnDataCsvHandler_VariousParameters_ReturnsFileContent(int complianceYear, string obligationType, Guid?authority, Guid?panArea) { var sentOnDataSet = CreateDummyDataSet(); A.CallTo(() => storedProcedures .GetAllAatfSentOnDataCsv(complianceYear, obligationType, authority, panArea)) .Returns(sentOnDataSet); var request = new GetAllAatfSentOnDataCsv(complianceYear, obligationType, authority, panArea); // Act var data = await handler.HandleAsync(request); // Assert Assert.NotEmpty(data.FileContent); }
public async Task GetAatfAeReturnDataCSVHandler_Returns_MatchingFileContent() { const int complianceYear = 2019; var sentOnDataSet = CreateDummyDataSet(); A.CallTo(() => storedProcedures.GetAllAatfSentOnDataCsv(A <int> ._, A <string> ._, A <Guid> ._, A <Guid> ._)).Returns(sentOnDataSet); var request = new GetAllAatfSentOnDataCsv(complianceYear, string.Empty, A.Dummy <Guid>(), A.Dummy <Guid>()); var data = await handler.HandleAsync(request); data.FileContent.Should().Contain("Year,Quarter,AATF Name,AATF approval number,Submitted By,Date Submitted,Category,Obligation,Total Sent to another AATF / ATF (t)"); data.FileContent.Should().Contain("2019,Q1,TestAatf0,WEE/AC0005ZT/ATF,T User,24/04/2019,1. Large Household Appliances,B2C,33"); data.FileContent.Should().Contain("2019,Q1,TestAatf1,WEE/AC0005ZT/ATF,T User,24/04/2019,1. Large Household Appliances,B2C,33"); data.FileContent.Should().Contain("2019,Q1,TestAatf2,WEE/AC0005ZT/ATF,T User,24/04/2019,1. Large Household Appliances,B2C,33"); data.FileContent.Should().Contain("2019,Q1,TestAatf3,WEE/AC0005ZT/ATF,T User,24/04/2019,1. Large Household Appliances,B2C,33"); data.FileContent.Should().Contain("2019,Q1,TestAatf4,WEE/AC0005ZT/ATF,T User,24/04/2019,1. Large Household Appliances,B2C,33"); }