コード例 #1
0
        public async Task HandleAsync_GivenStoredProcedureReturnItems_MatchingFileContent()
        {
            var complianceYear = fixture.Create <int>();
            var quarter        = fixture.Create <int>();
            var facilityType   = fixture.Create <FacilityType>();
            var returnStatus   = fixture.Create <ReportReturnStatus>();
            var authority      = fixture.Create <Guid>();
            var area           = fixture.Create <Guid>();
            var pat            = fixture.Create <Guid>();
            var resubmission   = fixture.Create <bool>();
            var aatf           = fixture.Create <string>();

            var csvData1 = new AatfAeReturnData
            {
                Name                   = fixture.Create <string>(),
                ApprovalNumber         = fixture.Create <string>(),
                OrganisationName       = fixture.Create <string>(),
                ReturnStatus           = fixture.Create <string>(),
                CreatedDate            = fixture.Create <DateTime>(),
                SubmittedBy            = fixture.Create <string>(),
                SubmittedDate          = fixture.Create <DateTime>(),
                CompetentAuthorityAbbr = fixture.Create <string>(),
                ReSubmission           = fixture.Create <string>()
            };

            var csvData2 = new AatfAeReturnData
            {
                Name                   = fixture.Create <string>(),
                ApprovalNumber         = fixture.Create <string>(),
                OrganisationName       = fixture.Create <string>(),
                ReturnStatus           = fixture.Create <string>(),
                CreatedDate            = fixture.Create <DateTime>(),
                SubmittedBy            = fixture.Create <string>(),
                SubmittedDate          = fixture.Create <DateTime>(),
                CompetentAuthorityAbbr = fixture.Create <string>(),
                ReSubmission           = fixture.Create <string>()
            };

            var csvData3 = new AatfAeReturnData
            {
                Name                   = fixture.Create <string>(),
                ApprovalNumber         = fixture.Create <string>(),
                OrganisationName       = fixture.Create <string>(),
                ReturnStatus           = fixture.Create <string>(),
                CreatedDate            = fixture.Create <DateTime>(),
                SubmittedBy            = fixture.Create <string>(),
                SubmittedDate          = fixture.Create <DateTime>(),
                CompetentAuthorityAbbr = fixture.Create <string>(),
                ReSubmission           = fixture.Create <string>()
            };

            A.CallTo(() => storedProcedures.GetAatfAeReturnDataCsvData(complianceYear, quarter, (int)facilityType, (int)returnStatus, authority, area, pat, resubmission))
            .Returns(new List <AatfAeReturnData> {
                csvData1, csvData2, csvData3
            });

            var request = new GetAatfAeReturnDataCsv(complianceYear, quarter, facilityType, returnStatus, authority, pat, area, aatf, resubmission);

            var data = await handler.HandleAsync(request);

            data.FileContent.Should().Contain("Name of AATF / AE,Approval number,Organisation name,Submission status,Date created (GMT),Date submitted (GMT),Submitted by,Appropriate authority,First submission / resubmission,");
            data.FileContent.Should().Contain($"{csvData1.Name},{csvData1.ApprovalNumber},{csvData1.OrganisationName},{csvData1.ReturnStatus},{csvData1.CreatedDate},{csvData1.SubmittedDate},{csvData1.SubmittedBy},{csvData1.CompetentAuthorityAbbr},{csvData1.ReSubmission}");
            data.FileContent.Should().Contain($"{csvData2.Name},{csvData2.ApprovalNumber},{csvData2.OrganisationName},{csvData2.ReturnStatus},{csvData2.CreatedDate},{csvData2.SubmittedDate},{csvData2.SubmittedBy},{csvData2.CompetentAuthorityAbbr},{csvData2.ReSubmission}");
            data.FileContent.Should().Contain($"{csvData3.Name},{csvData3.ApprovalNumber},{csvData3.OrganisationName},{csvData3.ReturnStatus},{csvData3.CreatedDate},{csvData3.SubmittedDate},{csvData3.SubmittedBy},{csvData3.CompetentAuthorityAbbr},{csvData3.ReSubmission}");
        }