Esempio n. 1
0
        public async Task HandleAsync_Always_CreatesFileNameWithSchemeApprovalNumberComplianceYearAndCurrentTime()
        {
            // Arrange
            Domain.Scheme.Scheme scheme = new Domain.Scheme.Scheme(A.Dummy <Organisation>());
            scheme.UpdateScheme(
                "Scheme name",
                "WEE/AB1234CD/SCH",
                A.Dummy <string>(),
                A.Dummy <Domain.Obligation.ObligationType?>(),
                A.Dummy <UKCompetentAuthority>());

            IFetchSummaryCsvDataAccess dataAccess = A.Fake <IFetchSummaryCsvDataAccess>();

            A.CallTo(() => dataAccess.FetchSchemeAsync(A <Guid> ._))
            .Returns(scheme);

            FetchSummaryCsvHandler handler = new FetchSummaryCsvHandler(
                A.Dummy <IWeeeAuthorization>(),
                A.Dummy <CsvWriterFactory>(),
                dataAccess);

            // Act
            Requests.DataReturns.FetchSummaryCsv request = new Requests.DataReturns.FetchSummaryCsv(
                A.Dummy <Guid>(),
                2017);

            SystemTime.Freeze(new DateTime(2016, 1, 2, 15, 22, 59), true);
            FileInfo result = await handler.HandleAsync(request);

            SystemTime.Unfreeze();

            // Assert
            Assert.NotNull(result);
            Assert.Equal("WEE/AB1234CD/SCH_EEE_WEEE_data_2017_02012016_1522.csv", result.FileName);
        }
Esempio n. 2
0
        public void CreateWriter_Always_CreatesExpectedColumns()
        {
            // Arrange
            FetchSummaryCsvHandler handler = new FetchSummaryCsvHandler(
                A.Dummy <IWeeeAuthorization>(),
                A.Dummy <CsvWriterFactory>(),
                A.Dummy <IFetchSummaryCsvDataAccess>());

            // Act
            CsvWriter <DataReturnSummaryCsvData> csvWriter = handler.CreateWriter();

            // Assert
            Assert.NotNull(csvWriter);
            Assert.Collection(csvWriter.ColumnTitles,
                              c => Assert.Equal("Quarter", c),
                              c => Assert.Equal("EEE or WEEE (tonnes)", c),
                              c => Assert.Equal("Obligation type", c),
                              c => Assert.Equal("Cat 1 (t)", c),
                              c => Assert.Equal("Cat 2 (t)", c),
                              c => Assert.Equal("Cat 3 (t)", c),
                              c => Assert.Equal("Cat 4 (t)", c),
                              c => Assert.Equal("Cat 5 (t)", c),
                              c => Assert.Equal("Cat 6 (t)", c),
                              c => Assert.Equal("Cat 7 (t)", c),
                              c => Assert.Equal("Cat 8 (t)", c),
                              c => Assert.Equal("Cat 9 (t)", c),
                              c => Assert.Equal("Cat 10 (t)", c),
                              c => Assert.Equal("Cat 11 (t)", c),
                              c => Assert.Equal("Cat 12 (t)", c),
                              c => Assert.Equal("Cat 13 (t)", c),
                              c => Assert.Equal("Cat 14 (t)", c));
        }
Esempio n. 3
0
        public async Task HandleAsync_WithNoInternalOrOrganisationAccess_ThrowsSecurityException()
        {
            // Arrange
            IWeeeAuthorization authorization = new AuthorizationBuilder()
                                               .DenyInternalOrOrganisationAccess()
                                               .Build();

            FetchSummaryCsvHandler handler = new FetchSummaryCsvHandler(
                authorization,
                A.Dummy <CsvWriterFactory>(),
                A.Dummy <IFetchSummaryCsvDataAccess>());

            // Act
            Func <Task <FileInfo> > testCode = async() => await handler.HandleAsync(A.Dummy <Requests.DataReturns.FetchSummaryCsv>());

            // Assert
            await Assert.ThrowsAsync <SecurityException>(testCode);
        }