示例#1
0
        public async Task <ActionResult> DownloadAatfObligatedDataCsv(int complianceYear, int columnType,
                                                                      string obligationType, string aatfName, Guid?authorityId, Guid?panArea)
        {
            using (var client = apiClient())
            {
                var request  = new GetAllAatfObligatedDataCsv(complianceYear, columnType, obligationType, aatfName, authorityId, panArea);
                var 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 GetAllAatfObligatedDataCsvHandler_NoColumnName_ReturnsFileContent(int complianceYear)
        {
            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var commanDataAccess = A.Fake <ICommonDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();

            var handler = new GetAllAatfObligatedDataCsvHandler(authorization, context, csvWriterFactory, commanDataAccess);
            var request = new GetAllAatfObligatedDataCsv(complianceYear, 0, string.Empty, string.Empty, null, null);

            // Act
            var data = await handler.HandleAsync(request);

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
        public async Task GetAllAatfObligatedDataCsvHandler_VariousParameters_ReturnsFileContent(int complianceYear, int columnType,
                                                                                                 string obligationType, string aatfName, Guid?authority, Guid?panArea)
        {
            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var commanDataAccess = A.Fake <ICommonDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();

            var handler = new GetAllAatfObligatedDataCsvHandler(authorization, context, csvWriterFactory, commanDataAccess);
            var request = new GetAllAatfObligatedDataCsv(complianceYear, columnType, obligationType, aatfName, authority, panArea);

            // Act
            var data = await handler.HandleAsync(request);

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
        public async Task GetAllAatfObligatedDataCsvHandler_MandatoryParameters_ReturnsFileName()
        {
            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var commanDataAccess = A.Fake <ICommonDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();
            var complianceYear   = 2019;

            var handler = new GetAllAatfObligatedDataCsvHandler(authorization, context, csvWriterFactory, commanDataAccess);
            var request = new GetAllAatfObligatedDataCsv(complianceYear, 1, string.Empty, string.Empty, null, null);

            // Act
            var data = await handler.HandleAsync(request);

            // Assert
            Assert.Contains("2019", data.FileName);
        }
        public async Task GetAllAatfObligatedDataCsvHandler_NoComplianceYear_ThrowsArgumentException()
        {
            // Arrange
            var complianceYear = 0;

            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var commanDataAccess = A.Fake <ICommonDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();

            var handler = new GetAllAatfObligatedDataCsvHandler(authorization, context, csvWriterFactory, commanDataAccess);
            var request = new GetAllAatfObligatedDataCsv(complianceYear, 1, string.Empty, string.Empty, null, null);

            // Act
            Func <Task> action = async() => await handler.HandleAsync(request);

            // Assert
            await Assert.ThrowsAsync <ArgumentException>(action);
        }
        public async Task GetAllAatfObligatedDataCsvHandler_StringParameters_ReturnsFileName()
        {
            var          authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var          context          = A.Fake <WeeeContext>();
            var          commonDataAccess = A.Fake <ICommonDataAccess>();
            var          csvWriterFactory = A.Fake <CsvWriterFactory>();
            const int    complianceYear   = 2019;
            const string obligationType   = "B2C";
            const string aatfName         = "A1";

            SystemTime.Freeze(new DateTime(2019, 2, 1, 11, 1, 2));

            var handler = new GetAllAatfObligatedDataCsvHandler(authorization, context, csvWriterFactory, commonDataAccess);
            var request = new GetAllAatfObligatedDataCsv(complianceYear, 1, obligationType, aatfName, null, null);

            // Act
            var data = await handler.HandleAsync(request);

            // Assert
            data.FileName.Should().Be("2019_B2C_AATF obligated WEEE data_01022019_1101.csv");

            SystemTime.Unfreeze();
        }