Пример #1
0
        private static IFetchDataReturnForSubmissionDataAccess FetchDummyDataReturnWithWarning(DataReturnUploadError dataReturnsUploadError)
        {
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
                A.Dummy <Scheme>(),
                A.Dummy <string>(),
                new List <DataReturnUploadError>()
            {
                dataReturnsUploadError
            },
                A.Dummy <string>(),
                2016,
                1);

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

            A.CallTo(() => dataAccess.FetchDataReturnUploadAsync(A <Guid> ._)).Returns(dataReturnsUpload);
            A.CallTo(() => dataAccess.CheckForExistingSubmissionAsync(A <Guid> ._, A <int> ._, A <int> ._)).Returns(false);
            return(dataAccess);
        }
Пример #2
0
        public void Submit_WhenAlreadySubmitted_ThrowInvalidOperationException()
        {
            // Arrange
            var dataReturnUpload = new DataReturnUpload(
                A.Dummy <Scheme>(),
                A.Dummy <string>(),
                A.Dummy <List <DataReturnUploadError> >(),
                A.Dummy <string>(),
                A.Dummy <int>(),
                A.Dummy <int>());

            dataReturnUpload.SetDataReturnVersion(new DataReturnVersion(A.Dummy <DataReturn>()));
            dataReturnUpload.Submit("*****@*****.**");

            // Act
            Action action = () => dataReturnUpload.Submit("*****@*****.**");

            // Assert
            Assert.Throws <InvalidOperationException>(action);
        }
Пример #3
0
        public void Submit_WhenContainsWarnings_SubmitsWithNoException()
        {
            var warning = new DataReturnUploadError(ErrorLevel.Warning, A.Dummy <UploadErrorType>(), A.Dummy <string>());

            var dataReturnUpload = new DataReturnUpload(
                A.Dummy <Scheme>(),
                A.Dummy <string>(),
                new List <DataReturnUploadError> {
                warning
            },
                A.Dummy <string>(),
                A.Dummy <int>(),
                A.Dummy <int>());

            dataReturnUpload.SetDataReturnVersion(new DataReturnVersion(A.Dummy <DataReturn>()));

            var exception = Record.Exception(() => dataReturnUpload.Submit("*****@*****.**"));

            Assert.Null(exception);
            Assert.True(dataReturnUpload.DataReturnVersion.IsSubmitted);
        }
Пример #4
0
        public async Task HandleAsync_ForDataReturnWithMultipleErrors_ReturnsErrorsByLineNumberOrder()
        {
            // Arrange
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
                A.Dummy <Scheme>(),
                A.Dummy <string>(),
                new List <DataReturnUploadError>()
            {
                new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 55 line no", 55),
                new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 5 line no", 5),
                new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 75 line no", 75),
                new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error without line no")
            },
                A.Dummy <string>(),
                A.Dummy <int>(),
                A.Dummy <int>());

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

            A.CallTo(() => dataAccess.FetchDataReturnUploadAsync(A <Guid> ._)).Returns(dataReturnsUpload);

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

            Requests.DataReturns.FetchDataReturnForSubmission request = new Requests.DataReturns.FetchDataReturnForSubmission(
                A.Dummy <Guid>());

            // Act
            DataReturnForSubmission result = await handler.HandleAsync(request);

            // Assert
            Assert.Equal(4, result.Errors.Count);
            Assert.True(result.Errors.ElementAt(0).Description == "Error without line no" &&
                        result.Errors.ElementAt(1).Description == "Error on 5 line no" &&
                        result.Errors.ElementAt(2).Description == "Error on 55 line no" &&
                        result.Errors.ElementAt(3).Description == "Error on 75 line no");
        }
        public async Task HandleAsync_Happypath_ReturnsQuarterInfo()
        {
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
               A.Dummy<Scheme>(),
               A.Dummy<string>(),
               new List<DataReturnUploadError>(),
               A.Dummy<string>(),
               2016,
               1);
          
            IFetchDataReturnUploadDataAccess dataAccess = A.Fake<IFetchDataReturnUploadDataAccess>();
            A.CallTo(() => dataAccess.FetchDataReturnUploadByIdAsync(A<Guid>._)).Returns(dataReturnsUpload);

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

            Requests.DataReturns.GetUploadInfoByDataReturnUploadId request = new Requests.DataReturns.GetUploadInfoByDataReturnUploadId(
                A.Dummy<Guid>());

            var result = await handler.HandleAsync(request);

            Assert.Equal(2016, result.Year);
            Assert.Equal(1, (int)result.Quarter.Value);
        }
        public async Task HandleAsync_Happypath_ReturnsQuarterInfo()
        {
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
                A.Dummy <Scheme>(),
                A.Dummy <string>(),
                new List <DataReturnUploadError>(),
                A.Dummy <string>(),
                2016,
                1);

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

            A.CallTo(() => dataAccess.FetchDataReturnUploadByIdAsync(A <Guid> ._)).Returns(dataReturnsUpload);

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

            Requests.DataReturns.GetUploadInfoByDataReturnUploadId request = new Requests.DataReturns.GetUploadInfoByDataReturnUploadId(
                A.Dummy <Guid>());

            var result = await handler.HandleAsync(request);

            Assert.Equal(2016, result.Year);
            Assert.Equal(1, (int)result.Quarter.Value);
        }
Пример #7
0
 public async Task AddAndSaveAsync(DataReturnUpload dataUpload)
 {
     context.DataReturnsUploads.Add(dataUpload);
     await context.SaveChangesAsync();
 }
 public async Task AddAndSaveAsync(DataReturnUpload dataUpload)
 {
     context.DataReturnsUploads.Add(dataUpload);
     await context.SaveChangesAsync();
 }
        private static IFetchDataReturnForSubmissionDataAccess FetchDummyDataReturnWithError(DataReturnUploadError dataReturnsUploadError)
        {
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
                A.Dummy<Scheme>(),
                A.Dummy<string>(),
                new List<DataReturnUploadError>() { dataReturnsUploadError },
                A.Dummy<string>(),
                null,
                null);

            IFetchDataReturnForSubmissionDataAccess dataAccess = A.Fake<IFetchDataReturnForSubmissionDataAccess>();
            A.CallTo(() => dataAccess.FetchDataReturnUploadAsync(A<Guid>._)).Returns(dataReturnsUpload);
            A.CallTo(() => dataAccess.CheckForExistingSubmissionAsync(A<Guid>._, A<int>._, A<int>._)).Returns(false);
            return dataAccess;
        }
        public async Task HandleAsync_ForDataReturnWithMultipleErrors_ReturnsErrorsByLineNumberOrder()
        {
            // Arrange
            DataReturnUpload dataReturnsUpload = new DataReturnUpload(
                A.Dummy<Scheme>(),
                A.Dummy<string>(),
                new List<DataReturnUploadError>()
                {
                  new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 55 line no", 55),
                  new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 5 line no", 5),
                  new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error on 75 line no", 75),
                  new DataReturnUploadError(ErrorLevel.Error, UploadErrorType.Schema, "Error without line no")
                },
                A.Dummy<string>(),
                A.Dummy<int>(),
                A.Dummy<int>());

            IFetchDataReturnForSubmissionDataAccess dataAccess = A.Fake<IFetchDataReturnForSubmissionDataAccess>();
            A.CallTo(() => dataAccess.FetchDataReturnUploadAsync(A<Guid>._)).Returns(dataReturnsUpload);

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

            Requests.DataReturns.FetchDataReturnForSubmission request = new Requests.DataReturns.FetchDataReturnForSubmission(
                A.Dummy<Guid>());

            // Act
            DataReturnForSubmission result = await handler.HandleAsync(request);

            // Assert
            Assert.Equal(4, result.Errors.Count);
            Assert.True(result.Errors.ElementAt(0).Description == "Error without line no"
                && result.Errors.ElementAt(1).Description == "Error on 5 line no"
                && result.Errors.ElementAt(2).Description == "Error on 55 line no"
                && result.Errors.ElementAt(3).Description == "Error on 75 line no");
        }