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");
        }
Example #7
0
        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");
        }