コード例 #1
0
        public async Task <ActionResult> DownloadUkWeeeDataAtAatfsCsv(int complianceYear)
        {
            using (var client = apiClient())
            {
                var request = new GetUkWeeeAtAatfsCsv(complianceYear);

                var file = await client.SendAsync(User.GetAccessToken(), request);

                return(File(file.Data, "text/csv", file.FileName));
            }
        }
コード例 #2
0
        public async Task HandleAsync_WithNonInternalUser_ThrowsSecurityException()
        {
            // Arrange
            var authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build();

            var handler = new GetUkWeeeAtAatfsCsvHandler(
                authorization,
                A.Dummy <IGetUkWeeeAtAatfsCsvDataAccess>(),
                A.Dummy <CsvWriterFactory>());

            var request = new GetUkWeeeAtAatfsCsv(A.Dummy <int>());

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

            // Assert
            await Assert.ThrowsAsync <SecurityException>(testCode);
        }
コード例 #3
0
        public async Task HandleAsync_Always_GeneratesCorrectFileName()
        {
            // Arrange
            var authorization = AuthorizationBuilder.CreateUserWithAllRights();

            var handler = new GetUkWeeeAtAatfsCsvHandler(
                authorization,
                A.Dummy <IGetUkWeeeAtAatfsCsvDataAccess>(),
                A.Dummy <CsvWriterFactory>());

            var request = new GetUkWeeeAtAatfsCsv(2016);

            // Act
            SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 0));
            var result = await handler.HandleAsync(request);

            SystemTime.Unfreeze();

            // Assert
            Assert.Equal("2016_UK WEEE received at AATFs_31122016_2359.csv", result.FileName);
        }