Example #1
0
        public async Task GetPreviousSubmission_ReturnsPreviousSubmissionForSameSchemeOnly()
        {
            using (var database = new DatabaseWrapper())
            {
                // Arrange
                DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(database.WeeeContext);

                ModelHelper  modelHelper  = new ModelHelper(database.Model);
                DomainHelper domainHelper = new DomainHelper(database.WeeeContext);

                var scheme1 = modelHelper.CreateScheme();

                var dataReturnVersion = modelHelper.CreateDataReturnVersion(scheme1, 2015, 1, true);
                dataReturnVersion.SubmittedDate = new DateTime(2015, 1, 1);

                var dataReturnVersion2 = modelHelper.CreateDataReturnVersion(scheme1, 2015, 1, true);
                dataReturnVersion2.SubmittedDate = new DateTime(2015, 3, 1);

                var scheme2 = modelHelper.CreateScheme();

                var dataReturnVersion3 = modelHelper.CreateDataReturnVersion(scheme2, 2015, 1, true);
                dataReturnVersion3.SubmittedDate = new DateTime(2015, 2, 1);

                database.Model.SaveChanges();

                var domainDataReturnVersion = domainHelper.GetDataReturnVersion(dataReturnVersion2.Id);

                // Act
                var result = await dataAccess.GetPreviousSubmission(domainDataReturnVersion);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(dataReturnVersion.Id, result.Id);
            }
        }
Example #2
0
        public async Task GetPreviousSubmission_ReturnsNullIfPreviousUploadButNoSubmission()
        {
            using (var database = new DatabaseWrapper())
            {
                // Arrange
                DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(database.WeeeContext);

                ModelHelper  modelHelper  = new ModelHelper(database.Model);
                DomainHelper domainHelper = new DomainHelper(database.WeeeContext);

                var scheme = modelHelper.CreateScheme();

                var dataReturnVersion = modelHelper.CreateDataReturnVersion(scheme, 2015, 1, false);

                var dataReturnVersion2 = modelHelper.CreateDataReturnVersion(scheme, 2015, 1, true);
                dataReturnVersion2.SubmittedDate = new DateTime(2015, 2, 1);

                database.Model.SaveChanges();

                var domainDataReturnVersion = domainHelper.GetDataReturnVersion(dataReturnVersion2.Id);

                // Act
                var result = await dataAccess.GetPreviousSubmission(domainDataReturnVersion);

                // Assert
                Assert.Null(result);
            }
        }
        public async Task GetPreviousSubmission_ReturnsPreviousSubmissionForSameSchemeOnly()
        {
            using (var database = new DatabaseWrapper())
            {
                // Arrange
                DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(database.WeeeContext);

                ModelHelper modelHelper = new ModelHelper(database.Model);
                DomainHelper domainHelper = new DomainHelper(database.WeeeContext);

                var scheme1 = modelHelper.CreateScheme();

                var dataReturnVersion = modelHelper.CreateDataReturnVersion(scheme1, 2015, 1, true);
                dataReturnVersion.SubmittedDate = new DateTime(2015, 1, 1);

                var dataReturnVersion2 = modelHelper.CreateDataReturnVersion(scheme1, 2015, 1, true);
                dataReturnVersion2.SubmittedDate = new DateTime(2015, 3, 1);

                var scheme2 = modelHelper.CreateScheme();

                var dataReturnVersion3 = modelHelper.CreateDataReturnVersion(scheme2, 2015, 1, true);
                dataReturnVersion3.SubmittedDate = new DateTime(2015, 2, 1);

                database.Model.SaveChanges();

                var domainDataReturnVersion = domainHelper.GetDataReturnVersion(dataReturnVersion2.Id);

                // Act
                var result = await dataAccess.GetPreviousSubmission(domainDataReturnVersion);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(dataReturnVersion.Id, result.Id);
            }
        }
        public async Task GetPreviousSubmission_ReturnsNullIfPreviousUploadButNoSubmission()
        {
            using (var database = new DatabaseWrapper())
            {
                // Arrange
                DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(database.WeeeContext);

                ModelHelper modelHelper = new ModelHelper(database.Model);
                DomainHelper domainHelper = new DomainHelper(database.WeeeContext);

                var scheme = modelHelper.CreateScheme();

                var dataReturnVersion = modelHelper.CreateDataReturnVersion(scheme, 2015, 1, false);

                var dataReturnVersion2 = modelHelper.CreateDataReturnVersion(scheme, 2015, 1, true);
                dataReturnVersion2.SubmittedDate = new DateTime(2015, 2, 1);

                database.Model.SaveChanges();

                var domainDataReturnVersion = domainHelper.GetDataReturnVersion(dataReturnVersion2.Id);

                // Act
                var result = await dataAccess.GetPreviousSubmission(domainDataReturnVersion);

                // Assert
                Assert.Null(result);
            }
        }
        public async Task GetPreviousSubmission_ThrowsArgumentException_IfSpecifiedDataReturnVersionIsNotSubmitted()
        {
            DataReturnSubmissionsDataAccess dataAccess =
                new DataReturnSubmissionsDataAccess(A.Dummy<WeeeContext>());

            var dataReturnVersion = A.Fake<DataReturnVersion>();
            A.CallTo(() => dataReturnVersion.IsSubmitted)
                .Returns(false);

            await Assert.ThrowsAsync<ArgumentException>(() => dataAccess.GetPreviousSubmission(dataReturnVersion));
        }
Example #6
0
        public async Task GetPreviousSubmission_ThrowsArgumentException_IfSpecifiedDataReturnVersionIsNotSubmitted()
        {
            DataReturnSubmissionsDataAccess dataAccess =
                new DataReturnSubmissionsDataAccess(A.Dummy <WeeeContext>());

            var dataReturnVersion = A.Fake <DataReturnVersion>();

            A.CallTo(() => dataReturnVersion.IsSubmitted)
            .Returns(false);

            await Assert.ThrowsAsync <ArgumentException>(() => dataAccess.GetPreviousSubmission(dataReturnVersion));
        }
        public async Task GetPreviousSubmission_ThrowsInvalidOperationException_IfSpecifiedDataReturnVersionIsNotSavedInDatabase()
        {
            var dbHelper = new DbContextHelper();

            var weeeContext = A.Fake<WeeeContext>();
            A.CallTo(() => weeeContext.DataReturnVersions)
                .Returns(dbHelper.GetAsyncEnabledDbSet(new List<DataReturnVersion>()));

            DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(weeeContext);

            var dataReturnVersion = A.Fake<DataReturnVersion>();
            A.CallTo(() => dataReturnVersion.IsSubmitted)
                .Returns(true);

            await Assert.ThrowsAsync<InvalidOperationException>(() => dataAccess.GetPreviousSubmission(dataReturnVersion));
        }
Example #8
0
        public async Task GetPreviousSubmission_ThrowsInvalidOperationException_IfSpecifiedDataReturnVersionIsNotSavedInDatabase()
        {
            var dbHelper = new DbContextHelper();

            var weeeContext = A.Fake <WeeeContext>();

            A.CallTo(() => weeeContext.DataReturnVersions)
            .Returns(dbHelper.GetAsyncEnabledDbSet(new List <DataReturnVersion>()));

            DataReturnSubmissionsDataAccess dataAccess = new DataReturnSubmissionsDataAccess(weeeContext);

            var dataReturnVersion = A.Fake <DataReturnVersion>();

            A.CallTo(() => dataReturnVersion.IsSubmitted)
            .Returns(true);

            await Assert.ThrowsAsync <InvalidOperationException>(() => dataAccess.GetPreviousSubmission(dataReturnVersion));
        }