コード例 #1
0
        public async void HttpGet_DownloadProducerEeeHistoryCsv_ShouldReturnFileContentType()
        {
            // Arrange
            BreadcrumbService breadcrumb = A.Dummy <BreadcrumbService>();
            ISearcher <ProducerSearchResult> producerSearcher = A.Dummy <ISearcher <ProducerSearchResult> >();
            IWeeeClient weeeClient = A.Fake <IWeeeClient>();
            CSVFileData csvData    = A.Dummy <CSVFileData>();

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetProducerEeeDataHistoryCsv> ._))
            .Returns(new CSVFileData
            {
                FileName    = "test.csv",
                FileContent = "123,abc"
            });

            Func <IWeeeClient> weeeClientFunc = A.Fake <Func <IWeeeClient> >();

            A.CallTo(() => weeeClientFunc())
            .Returns(weeeClient);

            ProducersController controller = new ProducersController(breadcrumb, producerSearcher, weeeClientFunc, cache, configurationService);

            //Act
            var result = await controller.DownloadProducerEeeDataHistoryCsv("WEE/AA1111AA");

            //Assert
            Assert.IsType <FileContentResult>(result);
        }
コード例 #2
0
        public async Task HandleAsyncForPublicRegister_GivenStoredProcedureReturnItems_MatchingFileContent()
        {
            int complianceYear = fixture.Create <int>();
            ReportFacilityType facilityType = fixture.Create <ReportFacilityType>();
            Guid authority = fixture.Create <Guid>();

            AatfAeDetailsData csvData1 = CreateCsvData();

            AatfAeDetailsData csvData2 = CreateCsvData();

            AatfAeDetailsData csvData3 = CreateCsvData();

            A.CallTo(() => storedProcedures.GetAatfAeDetailsCsvData(complianceYear, (int)facilityType, authority, null, null))
            .Returns(new List <AatfAeDetailsData> {
                csvData1, csvData2, csvData3
            });

            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(complianceYear, facilityType, authority, null, null, true);

            CSVFileData data = await handler.HandleAsync(request);

            string facilityTypeString = facilityType.ToString().ToUpper();

            data.FileContent.Should().Contain($"Compliance year,Appropriate authority,Name of {facilityTypeString},{facilityTypeString} address,{facilityTypeString} postcode,{facilityTypeString} country,EA Area for the {facilityTypeString},{facilityTypeString} approval number,Date of approval,{facilityTypeString} size,{facilityTypeString} status,Name of operator,Business trading name of operator,Operator address,Operator postcode,Operator country");
            data.FileContent.Should().Contain($"{csvData1.ComplianceYear},{csvData1.AppropriateAuthorityAbbr},{csvData1.Name},{csvData1.AatfAddress},{csvData1.PostCode},{csvData1.Country},{csvData1.EaArea},{csvData1.ApprovalNumber},{csvData1.ApprovalDateString},{csvData1.Size},{csvData1.Status},{csvData1.OperatorName},{csvData1.OperatorTradingName},{csvData1.OperatorAddress},{csvData1.OrganisationPostcode},{csvData1.OrganisationCountry}");
            data.FileContent.Should().Contain($"{csvData2.ComplianceYear},{csvData2.AppropriateAuthorityAbbr},{csvData2.Name},{csvData2.AatfAddress},{csvData2.PostCode},{csvData2.Country},{csvData2.EaArea},{csvData2.ApprovalNumber},{csvData2.ApprovalDateString},{csvData2.Size},{csvData2.Status},{csvData2.OperatorName},{csvData2.OperatorTradingName},{csvData2.OperatorAddress},{csvData2.OrganisationPostcode},{csvData2.OrganisationCountry}");
            data.FileContent.Should().Contain($"{csvData3.ComplianceYear},{csvData3.AppropriateAuthorityAbbr},{csvData3.Name},{csvData3.AatfAddress},{csvData3.PostCode},{csvData3.Country},{csvData3.EaArea},{csvData3.ApprovalNumber},{csvData3.ApprovalDateString},{csvData3.Size},{csvData3.Status},{csvData3.OperatorName},{csvData3.OperatorTradingName},{csvData3.OperatorAddress},{csvData3.OrganisationPostcode},{csvData3.OrganisationCountry}");
        }
コード例 #3
0
        public async Task HandleAsync_GivenStoredProcedureReturnItems_MatchingFileContent()
        {
            int complianceYear = fixture.Create <int>();
            ReportFacilityType facilityType = fixture.Create <ReportFacilityType>();
            Guid authority = fixture.Create <Guid>();
            Guid area      = fixture.Create <Guid>();
            Guid pat       = fixture.Create <Guid>();

            AatfAeDetailsData csvData1 = CreateCsvData();

            AatfAeDetailsData csvData2 = CreateCsvData();

            AatfAeDetailsData csvData3 = CreateCsvData();

            A.CallTo(() => storedProcedures.GetAatfAeDetailsCsvData(complianceYear, (int)facilityType, authority, area, pat))
            .Returns(new List <AatfAeDetailsData> {
                csvData1, csvData2, csvData3
            });

            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(complianceYear, facilityType, authority, pat, area, false);

            CSVFileData data = await handler.HandleAsync(request);

            string facilityTypeString = facilityType.ToString().ToUpper();

            data.FileContent.Should().Contain($"Compliance year,Appropriate authority,WROS Pan Area Team,EA Area,\"AATF, AE or PCS?\",Name,Approval number,Status,AATF / AE address1,AATF / AE address2,AATF / AE town or city,AATF / AE county or region,AATF / AE postcode,AATF / AE country,PCS billing reference,PCS obligation type,AATF / AE date of approval,AATF / AE size,Contact first name,Contact last name,Contact position,Contact address1,Contact address2,Contact town or city,Contact county or region,Contact postcode,Contact country,Contact phone number,Contact email,Organisation type,Organisation name,Organisation business trading name,Organisation company registration number,Organisation address1,Organisation address2,Organisation town or city,Organisation county or region,Organisation postcode,Organisation country,Organisation telephone,Organisation email");
            data.FileContent.Should().Contain($"{csvData1.ComplianceYear},{csvData1.AppropriateAuthorityAbbr},{csvData1.PanAreaTeam},{csvData1.EaArea},{csvData1.RecordType},{csvData1.Name},{csvData1.ApprovalNumber},{csvData1.Status},{csvData1.Address1},{csvData1.Address2},{csvData1.TownCity},{csvData1.CountyRegion},{csvData1.PostCode},{csvData1.Country},{csvData1.IbisCustomerReference},{csvData1.ObligationType},{csvData1.ApprovalDateString},{csvData1.Size},{csvData1.FirstName},{csvData1.LastName},{csvData1.ContactPosition},{csvData1.ContactAddress1},{csvData1.ContactAddress2},{csvData1.ContactTownCity},{csvData1.ContactCountyRegion},{csvData1.ContactPostcode},{csvData1.ContactCountry},{csvData1.ContactPhone},{csvData1.ContactEmail},{csvData1.OrganisationTypeString},{csvData1.OperatorName},{csvData1.OperatorTradingName},{csvData1.CompanyRegistrationNumber},{csvData1.OrganisationAddress1},{csvData1.OrganisationAddress2},{csvData1.OrganisationTownCity},{csvData1.OrganisationCountyRegion},{csvData1.OrganisationPostcode},{csvData1.OrganisationCountry},{csvData1.OrganisationTelephone},{csvData1.OrganisationEmail}");
            data.FileContent.Should().Contain($"{csvData2.ComplianceYear},{csvData2.AppropriateAuthorityAbbr},{csvData2.PanAreaTeam},{csvData2.EaArea},{csvData2.RecordType},{csvData2.Name},{csvData2.ApprovalNumber},{csvData2.Status},{csvData2.Address1},{csvData2.Address2},{csvData2.TownCity},{csvData2.CountyRegion},{csvData2.PostCode},{csvData2.Country},{csvData2.IbisCustomerReference},{csvData2.ObligationType},{csvData2.ApprovalDateString},{csvData2.Size},{csvData2.FirstName},{csvData2.LastName},{csvData2.ContactPosition},{csvData2.ContactAddress1},{csvData2.ContactAddress2},{csvData2.ContactTownCity},{csvData2.ContactCountyRegion},{csvData2.ContactPostcode},{csvData2.ContactCountry},{csvData2.ContactPhone},{csvData2.ContactEmail},{csvData2.OrganisationTypeString},{csvData2.OperatorName},{csvData2.OperatorTradingName},{csvData2.CompanyRegistrationNumber},{csvData2.OrganisationAddress1},{csvData2.OrganisationAddress2},{csvData2.OrganisationTownCity},{csvData2.OrganisationCountyRegion},{csvData2.OrganisationPostcode},{csvData2.OrganisationCountry},{csvData2.OrganisationTelephone},{csvData2.OrganisationEmail}");
            data.FileContent.Should().Contain($"{csvData3.ComplianceYear},{csvData3.AppropriateAuthorityAbbr},{csvData3.PanAreaTeam},{csvData3.EaArea},{csvData3.RecordType},{csvData3.Name},{csvData3.ApprovalNumber},{csvData3.Status},{csvData3.Address1},{csvData3.Address2},{csvData3.TownCity},{csvData3.CountyRegion},{csvData3.PostCode},{csvData3.Country},{csvData3.IbisCustomerReference},{csvData3.ObligationType},{csvData3.ApprovalDateString},{csvData3.Size},{csvData3.FirstName},{csvData3.LastName},{csvData3.ContactPosition},{csvData3.ContactAddress1},{csvData3.ContactAddress2},{csvData3.ContactTownCity},{csvData3.ContactCountyRegion},{csvData3.ContactPostcode},{csvData3.ContactCountry},{csvData3.ContactPhone},{csvData3.ContactEmail},{csvData3.OrganisationTypeString},{csvData3.OperatorName},{csvData3.OperatorTradingName},{csvData3.CompanyRegistrationNumber},{csvData3.OrganisationAddress1},{csvData3.OrganisationAddress2},{csvData3.OrganisationTownCity},{csvData3.OrganisationCountyRegion},{csvData3.OrganisationPostcode},{csvData3.OrganisationCountry},{csvData3.OrganisationTelephone},{csvData3.OrganisationEmail}");
        }
コード例 #4
0
        public async Task GetDownloadChargeBreakdown_CallsApiAndReturnsFileResult()
        {
            // Arrange
            Guid invoiceRunId = Guid.NewGuid();

            var csvFileData = new CSVFileData {
                FileName = "Test file.csv", FileContent = "CSV content"
            };

            IWeeeClient weeeClient = A.Fake <IWeeeClient>();

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchInvoiceRunCsv> ._))
            .WhenArgumentsMatch(a => a.Get <FetchInvoiceRunCsv>("request").InvoiceRunId == invoiceRunId)
            .Returns(csvFileData);

            ChargeController controller = new ChargeController(
                A.Dummy <IAppConfiguration>(),
                A.Dummy <BreadcrumbService>(),
                () => weeeClient);

            // Act
            ActionResult result = await controller.DownloadChargeBreakdown(invoiceRunId);

            // Assert
            FileResult fileResult = result as FileResult;

            Assert.NotNull(fileResult);

            Assert.Equal("Test file.csv", fileResult.FileDownloadName);
            Assert.Equal("text/csv", fileResult.ContentType);
        }
コード例 #5
0
        public void FromGivenStateCensusCSVFile_IfCorrect_ShouldReturnNoOfRecords()
        {
            CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();

            csvFileData          = new CSVFileData(censusAnalyser.LoadCSVFileData);
            totalNumberOfRecords = (List <string>)csvFileData(CSVStateCodeFilePath, StateCodeFileHeaders);
            Assert.AreEqual(37, totalNumberOfRecords.Count);
        }
コード例 #6
0
        public async Task HandleAsync_VariousParameters_ReturnsFileContent()
        {
            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(fixture.Create <int>(), fixture.Create <ReportFacilityType>(), fixture.Create <Guid>(), fixture.Create <Guid>(), fixture.Create <Guid>(), fixture.Create <bool>());

            CSVFileData data = await handler.HandleAsync(request);

            data.FileContent.Should().NotBeEmpty();
        }
コード例 #7
0
 public void FromGivenIndianCensusCSVFile_WhenNotFound_ShouldThrowAnException()
 {
     try
     {
         CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();
         csvFileData = new CSVFileData(censusAnalyser.LoadCSVFileData);
         var exception = Assert.Throws <CensusAnalyserException>(() => csvFileData(InvalidFilePath, StateCensusFileHeaders));
     }
     catch (CensusAnalyserException ex)
     {
         Assert.AreEqual(CensusAnalyserException.ExceptionType.FILE_NOT_FOUND, ex.type);
     }
 }
コード例 #8
0
 public void FromGivenIndianCensusCSVFile_IfIncorrectFileType_ShouldThrowAnException()
 {
     try
     {
         CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();
         csvFileData = new CSVFileData(censusAnalyser.LoadCSVFileData);
         var exception = Assert.Throws <CensusAnalyserException>(() => csvFileData(InvalidCSVTypeFilePath, StateCensusFileHeaders));
     }
     catch (CensusAnalyserException ex)
     {
         Assert.AreEqual(CensusAnalyserException.ExceptionType.INCORRECT_FILE_TYPE, ex.type);
     }
 }
コード例 #9
0
 public void FromGivenIndianCensusCSVFile_IfIncorrectDeliminatorPresentInFile_ShouldThrowException()
 {
     try
     {
         CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();
         csvFileData = new CSVFileData(censusAnalyser.LoadCSVFileData);
         var exception = Assert.Throws <CensusAnalyserException>(() => csvFileData(InvalidDeliminatorFilePath, StateCensusFileHeaders));
     }
     catch (CensusAnalyserException ex)
     {
         Assert.AreEqual(CensusAnalyserException.ExceptionType.INVALID_DELIMITER, ex.type);
     }
 }
コード例 #10
0
 public void FromGivenStateCodesCSVFile_IfIncorrectHeadersPresentInFile_ShouldThrowCustomException()
 {
     try
     {
         CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();
         csvFileData = new CSVFileData(censusAnalyser.LoadCSVFileData);
         var exception = Assert.Throws <CensusAnalyserException>(() => csvFileData(InvalidHeaderFilePath, StateCodeFileHeaders));
     }
     catch (CensusAnalyserException ex)
     {
         Assert.AreEqual(CensusAnalyserException.ExceptionType.INVALID_HEADERS, ex.type);
     }
 }
コード例 #11
0
        public async Task HandleAsync_GivenMandatoryParameters_FileNameShouldBeCorrect()
        {
            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(fixture.Create <int>(), fixture.Create <ReportFacilityType>(), null, null, null, false);

            DateTime date = new DateTime(2019, 05, 18, 11, 12, 0);

            SystemTime.Freeze(date);

            CSVFileData data = await handler.HandleAsync(request);

            data.FileName.Should().Be($"{request.ComplianceYear}_{request.FacilityType.ToString().ToUpper()}_AATF-AE-PCS-organisation details_{date:ddMMyyyy_HHmm}.csv");

            SystemTime.Unfreeze();
        }
コード例 #12
0
 public void FromGivenIndianCensusCSVFile_IfCorrect_ShouldReturnNoOfRecords()
 {
     try
     {
         CensusAnalyser censusAnalyser = (CensusAnalyser)csvFactory.getIndianCensusAnalyser();
         csvFileData          = new CSVFileData(censusAnalyser.LoadCSVFileData);
         totalNumberOfRecords = (List <string>)csvFileData(CSVFilePath, StateCensusFileHeaders);
         Assert.AreEqual(29, totalNumberOfRecords.Count);
     }
     catch (Exception ex)
     {
         System.Console.WriteLine(ex.Message);
     }
 }
コード例 #13
0
        public async Task GetAatfObligatedDataCsvHandlerr_PassVariousComplianceYears_ReturnsFileContent(int complianceYear)
        {
            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var aatfDataAccess   = A.Fake <IGetAatfsDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();

            var handler = new GetAatfObligatedDataHandler(authorization, context, csvWriterFactory, aatfDataAccess);
            var request = new GetAatfObligatedData(complianceYear, 1, A.Dummy <Guid>(), A.Dummy <Guid>());

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

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #14
0
        public async Task GetProducerAmendmentsHistoryCSVHandler_ReturnsFileContent()
        {
            // Arrange
            var prn = "WEE/MM0001DD";

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

            var handler = new GetProducerAmendmentsHistoryCSVHandler(authorization, context, csvWriterFactory);
            var request = new GetProducerAmendmentsHistoryCSV(prn);

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

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #15
0
        public async Task HandleAsync_GivenMandatoryParametersPublicRegister_FileNameShouldBeCorrect()
        {
            UKCompetentAuthority ca = fixture.Create <UKCompetentAuthority>();

            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(fixture.Create <int>(), fixture.Create <ReportFacilityType>(), ca.Id, null, null, true);

            A.CallTo(() => commonDataAccess.FetchCompetentAuthorityById(request.AuthorityId.Value)).Returns(ca);

            DateTime date = new DateTime(2019, 05, 18, 11, 12, 0);

            SystemTime.Freeze(date);

            CSVFileData data = await handler.HandleAsync(request);

            data.FileName.Should().Be($"{request.ComplianceYear}_{ca.Abbreviation}_{request.FacilityType.ToString().ToUpper()} public register_{date:ddMMyyyy_HHmm}.csv");

            SystemTime.Unfreeze();
        }
コード例 #16
0
        public async Task GetMembersDetailsCSVHandler_ComplianceYear_ReturnsFileContent()
        {
            // Arrange
            var complianceYear = 2016;

            var authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context       = A.Fake <WeeeContext>();
            var csvWriter     = new CsvWriter <MembersDetailsCsvData>(A.Dummy <IExcelSanitizer>());

            var handler = new GetMembersDetailsCsvHandler(authorization, context, csvWriter);
            var request = new GetMemberDetailsCsv(complianceYear);

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

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #17
0
        public async Task HandleAsync_ReturnsFileContent()
        {
            // Arrange
            IWeeeAuthorization authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();
            GetProducerEeeDataHistoryCsvHandler handler = new GetProducerEeeDataHistoryCsvHandler(
                authorization,
                context,
                csvWriterFactory);

            GetProducerEeeDataHistoryCsv request = new GetProducerEeeDataHistoryCsv("PRN");
            // Act
            CSVFileData data = await handler.HandleAsync(request);

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #18
0
        public async Task HandleAsync_GivenMandatoryParametersAndLocalArea_FileNameShouldNotContainLocalArea()
        {
            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(fixture.Create <int>(), fixture.Create <ReportFacilityType>(), null, null, fixture.Create <Guid>(), false);

            LocalArea localArea = fixture.Create <LocalArea>();

            A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(request.LocalArea.Value)).Returns(localArea);

            DateTime date = new DateTime(2019, 05, 18, 11, 12, 0);

            SystemTime.Freeze(date);

            CSVFileData data = await handler.HandleAsync(request);

            data.FileName.Should().Be($"{request.ComplianceYear}_{request.FacilityType.ToString().ToUpper()}_AATF-AE-PCS-organisation details_{date:ddMMyyyy_HHmm}.csv");

            SystemTime.Unfreeze();
        }
コード例 #19
0
        public async Task GetUkEeeDataCsvHandler_ComplianceYear_ReturnsFileContent()
        {
            // Arrange
            var complianceYear = 2016;

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

            var handler = new GetUkEeeDataCsvHandler(authorization, context, csvWriterFactory);
            var request = new GetUkEeeDataCsv(complianceYear);

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

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #20
0
        public async Task GetProducerEeeDataCsvHandler_ComplianceYear_B2C_ReturnsFileContent()
        {
            // Arrange
            int complianceYear = 2016;

            IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights();

            GetProducerEeeDataCsvHandler handler = new GetProducerEeeDataCsvHandler(
                authorization,
                A.Dummy <IGetProducerEeeDataCsvDataAccess>(),
                A.Dummy <CsvWriterFactory>());

            GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, null, ObligationType.B2C);

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

            // Assert
            Assert.NotEmpty(data.FileContent);
        }
コード例 #21
0
        public async Task GetAatfObligatedDataCsvHandler_ReturnsFileName()
        {
            var authorization    = new AuthorizationBuilder().AllowInternalAreaAccess().Build();
            var context          = A.Fake <WeeeContext>();
            var aatfDataAccess   = A.Fake <IGetAatfsDataAccess>();
            var csvWriterFactory = A.Fake <CsvWriterFactory>();
            int complianceYear   = 2019;

            SystemTime.Freeze(new DateTime(2019, 2, 1, 11, 1, 2));
            Aatf aatf = new Aatf("Company Aatf", A.Dummy <UKCompetentAuthority>(), "1234", Domain.AatfReturn.AatfStatus.Approved, A.Fake <Organisation>(), A.Dummy <AatfAddress>(), Domain.AatfReturn.AatfSize.Large, DateTime.Now, A.Fake <AatfContact>(), Domain.AatfReturn.FacilityType.Aatf, 2019, A.Fake <LocalArea>(), A.Fake <PanArea>());

            var handler = new GetAatfObligatedDataHandler(authorization, context, csvWriterFactory, aatfDataAccess);
            var request = new GetAatfObligatedData(complianceYear, 1, A.Dummy <Guid>(), A.Dummy <Guid>());

            A.CallTo(() => aatfDataAccess.GetAatfById(request.AatfId)).Returns(aatf);

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

            // Assert
            data.FileName.Should().Be("2019_Q1_1234_Full data_01022019_1101.csv");
        }
コード例 #22
0
        public async Task DownloadDataReturnSubmissionEeeChanges_CallsApiAndReturnsFileResult()
        {
            // Arrange
            var csvFileData = new CSVFileData {
                FileName = "Test file.csv", FileContent = "CSV content"
            };

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetDataReturnSubmissionEeeChangesCsv> ._))
            .Returns(csvFileData);

            // Act
            var result = await SubmissionsController().DownloadDataReturnSubmissionEeeChanges(A.Dummy <Guid>(), A.Dummy <Guid>());

            // Assert
            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetDataReturnSubmissionEeeChangesCsv> ._))
            .MustHaveHappened();

            FileResult fileResult = result as FileResult;

            Assert.NotNull(fileResult);

            Assert.Equal("Test file.csv", fileResult.FileDownloadName);
            Assert.Equal("text/csv", fileResult.ContentType);
        }
コード例 #23
0
        public async Task HandleAsync_GivenMandatoryParametersAndAllOptionalParameters_FileNameShouldBeCorrect()
        {
            UKCompetentAuthority ca        = fixture.Create <UKCompetentAuthority>();
            LocalArea            localArea = fixture.Create <LocalArea>();
            PanArea panArea = fixture.Create <PanArea>();

            GetAatfAeDetailsCsv request = new GetAatfAeDetailsCsv(fixture.Create <int>(), fixture.Create <ReportFacilityType>(), ca.Id, panArea.Id, localArea.Id, false);

            A.CallTo(() => commonDataAccess.FetchCompetentAuthorityById(request.AuthorityId.Value)).Returns(ca);

            A.CallTo(() => commonDataAccess.FetchLookup <LocalArea>(request.LocalArea.Value)).Returns(localArea);

            A.CallTo(() => commonDataAccess.FetchLookup <PanArea>(request.PanArea.Value)).Returns(panArea);

            DateTime date = new DateTime(2019, 05, 18, 11, 12, 0);

            SystemTime.Freeze(date);

            CSVFileData data = await handler.HandleAsync(request);

            data.FileName.Should().Be($"{request.ComplianceYear}_{ca.Abbreviation}_{panArea.Name}_{request.FacilityType.ToString().ToUpper()}_AATF-AE-PCS-organisation details_{date:ddMMyyyy_HHmm}.csv");

            SystemTime.Unfreeze();
        }
コード例 #24
0
        public async Task GetDownloadProducerDetailsCsv_WithNoSchemeIdAndNoAuthorityId_ReturnsFileNameWithComplianceYearAndCurrentTime()
        {
            // Arrange
            IWeeeClient client = A.Fake<IWeeeClient>();

            CSVFileData file = new CSVFileData() { FileContent = "Content" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetMemberDetailsCsv>._))
                .Returns(file);

            ReportsController controller = new ReportsController(
                () => client,
                A.Dummy<BreadcrumbService>());

            // Act
            SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 58));
            ActionResult result = await controller.DownloadProducerDetailsCsv(2015, null, null, false, false);
            SystemTime.Unfreeze();

            // Assert
            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("2015_producerdetails_31122016_2359.csv", fileResult.FileDownloadName);
        }
コード例 #25
0
        public async Task GetDownloadProducerDetailsCsv_WithSchemeIdAndNoAuthorityId_ReturnsFileNameWithComplianceYearSchemeApprovalNumberAndCurrentTime()
        {
            // Arrange
            IWeeeClient client = A.Fake<IWeeeClient>();

            CSVFileData file = new CSVFileData() { FileContent = "Content" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetMemberDetailsCsv>._))
                .Returns(file);

            SchemeData schemeData = new SchemeData() { ApprovalName = "WEE/AA1111AA/SCH" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetSchemeById>._))
                .WhenArgumentsMatch(a => a.Get<GetSchemeById>("request").SchemeId == new Guid("88DF333E-6B2B-4D72-B411-7D7024EAA5F5"))
                .Returns(schemeData);

            ReportsController controller = new ReportsController(
                () => client,
                A.Dummy<BreadcrumbService>());

            // Act
            SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 58));
            ActionResult result = await controller.DownloadProducerDetailsCsv(2015, new Guid("88DF333E-6B2B-4D72-B411-7D7024EAA5F5"), null, false, false);
            SystemTime.Unfreeze();

            // Assert
            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("2015_WEEAA1111AASCH_producerdetails_31122016_2359.csv", fileResult.FileDownloadName);
        }
コード例 #26
0
        public async Task DownloadDataReturnSubmissionEeeChanges_CallsApiAndReturnsFileResult()
        {
            // Arrange
            var csvFileData = new CSVFileData { FileName = "Test file.csv", FileContent = "CSV content" };

            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetDataReturnSubmissionEeeChangesCsv>._))
               .Returns(csvFileData);

            // Act
            var result = await SubmissionsController().DownloadDataReturnSubmissionEeeChanges(A.Dummy<Guid>(), A.Dummy<Guid>());

            // Assert
            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetDataReturnSubmissionEeeChangesCsv>._))
                .MustHaveHappened();

            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("Test file.csv", fileResult.FileDownloadName);
            Assert.Equal("text/csv", fileResult.ContentType);
        }
コード例 #27
0
        public async Task GetDownloadProducerDetailsCsv_WithNoSchemeIdAndWithAnAuthorityId_ReturnsFileNameWithComplianceYearAuthorityAbbreviationAndCurrentTime()
        {
            // Arrange
            IWeeeClient client = A.Fake<IWeeeClient>();

            CSVFileData file = new CSVFileData() { FileContent = "Content" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetMemberDetailsCsv>._))
                .Returns(file);

            UKCompetentAuthorityData authorityData = new UKCompetentAuthorityData() { Abbreviation = "AA" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetUKCompetentAuthorityById>._))
                .WhenArgumentsMatch(a => a.Get<GetUKCompetentAuthorityById>("request").Id == new Guid("703839B3-A081-4491-92B7-FCF969067EA3"))
                .Returns(authorityData);

            ReportsController controller = new ReportsController(
                () => client,
                A.Dummy<BreadcrumbService>());

            // Act
            SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 58));
            ActionResult result = await controller.DownloadProducerDetailsCsv(
                2015,
                null,
                new Guid("703839B3-A081-4491-92B7-FCF969067EA3"),
                false,
                false);
            SystemTime.Unfreeze();

            // Assert
            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("2015_AA_producerdetails_31122016_2359.csv", fileResult.FileDownloadName);
        }
コード例 #28
0
        public async Task GetDownloadProducerDetailsCsv_Always_ReturnsFileResultWithContentTypeOfTextCsv()
        {
            // Arrange
            IWeeeClient client = A.Fake<IWeeeClient>();

            CSVFileData file = new CSVFileData() { FileContent = "Content" };
            A.CallTo(() => client.SendAsync(A<string>._, A<GetMemberDetailsCsv>._))
                .Returns(file);

            ReportsController controller = new ReportsController(
                () => client,
                A.Dummy<BreadcrumbService>());

            // Act
            ActionResult result = await controller.DownloadProducerDetailsCsv(2015, null, null, false, false);

            // Assert
            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("text/csv", fileResult.ContentType);
        }
コード例 #29
0
        public async Task GetDownloadChargeBreakdown_CallsApiAndReturnsFileResult()
        {
            // Arrange
            Guid invoiceRunId = Guid.NewGuid();

            var csvFileData = new CSVFileData { FileName = "Test file.csv", FileContent = "CSV content" };

            IWeeeClient weeeClient = A.Fake<IWeeeClient>();
            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchInvoiceRunCsv>._))
                .WhenArgumentsMatch(a => a.Get<FetchInvoiceRunCsv>("request").InvoiceRunId == invoiceRunId)
                .Returns(csvFileData);

            ChargeController controller = new ChargeController(
                A.Dummy<IAppConfiguration>(),
                A.Dummy<BreadcrumbService>(),
                () => weeeClient);

            // Act
            ActionResult result = await controller.DownloadChargeBreakdown(invoiceRunId);

            // Assert
            FileResult fileResult = result as FileResult;
            Assert.NotNull(fileResult);

            Assert.Equal("Test file.csv", fileResult.FileDownloadName);
            Assert.Equal("text/csv", fileResult.ContentType);
        }