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)); }
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)); }
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)); }