public async void Delete_MarkSessionModelWithoutDependantResources_NoExceptionThrown() { // Arrange var markSessionModel = MarkSessionModelDataMocks.MockMarkSessionModel(); markSessionModel.SourceDependency = null; markSessionModel.DependantResources = new List <DependantResourceModel>(); var markSessionCollection = new Mock <IMongoCollection <MarkSessionModel> >(); markSessionCollection .Setup(m => m.DeleteOneAsync( It.IsAny <FilterDefinition <MarkSessionModel> >(), It.IsAny <CancellationToken>() )).ReturnsAsync(It.IsAny <DeleteResult>()); var dbMongoService = new Mock <IDbMongoService>(); dbMongoService .Setup(m => m.GetMarkSessionCollection()) .Returns(markSessionCollection.Object); var markSessionRepository = new MarkSessionRepository(dbMongoService.Object); Exception exception = null; try { // Act await markSessionRepository.Delete(markSessionModel); } catch (CannotDeleteMarkSessionException e) { exception = e; } // Assert Assert.Null(exception); }
public async void Update_ValidMarkSessionModel_NoExceptionThrown() { // Arrange var markSessionModel = MarkSessionModelDataMocks.MockMarkSessionModel(); var markSessionCollection = new Mock <IMongoCollection <MarkSessionModel> >(); markSessionCollection .Setup(m => m.ReplaceOneAsync( It.IsAny <FilterDefinition <MarkSessionModel> >(), It.IsAny <MarkSessionModel>(), It.IsAny <UpdateOptions>(), It.IsAny <CancellationToken>() )).ReturnsAsync(It.IsAny <ReplaceOneResult>()); var dbMongoService = new Mock <IDbMongoService>(); dbMongoService .Setup(m => m.GetMarkSessionCollection()) .Returns(markSessionCollection.Object); var markSessionRepository = new MarkSessionRepository(dbMongoService.Object); Exception exception = null; try { // Act await markSessionRepository.Update(markSessionModel); } catch (Exception e) { exception = e; } // Assert Assert.Null(exception); }
public async void Update_MarkSessionModelsExist_NoExceptionThrown() { // Arrange var markSessionModel = new MarkSessionModel( "2085eb4c-7a94-4cc8-9c46-58f5166d3c82", "2085eb4c-7a94-4cc8-9c46-58f5166d3c82", ResourceTypeEnum.Project, MarkSessionTypeEnum.ToBeArchived ) { Id = new ObjectId("5b07def67aa54a0007b3db53") }; var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); Exception exception = null; try { // Act await markSessionRepository.Update(markSessionModel); } catch (Exception e) { exception = e; } // Assert Assert.Null(exception); }
public async void GetAll_NonExistingMarkSessionModels_ReturnsEmptyList() { // Arrange var markSessionModelAsyncCursor = new Mock <IAsyncCursor <MarkSessionModel> >(); var markSessionCollection = new Mock <IMongoCollection <MarkSessionModel> >(); markSessionCollection .Setup(m => m.FindAsync( It.IsAny <FilterDefinition <MarkSessionModel> >(), It.IsAny <FindOptions <MarkSessionModel, MarkSessionModel> >(), It.IsAny <CancellationToken>() )).ReturnsAsync(markSessionModelAsyncCursor.Object); var dbMongoService = new Mock <IDbMongoService>(); dbMongoService .Setup(m => m.GetMarkSessionCollection()) .Returns(markSessionCollection.Object); var markSessionRepository = new MarkSessionRepository(dbMongoService.Object); // Act var result = await markSessionRepository.GetAll(); // Assert Assert.Empty(result); }
public async void Create_MarkSessionModelAlreadyExists_ThrowsException() { // Arrange var existingMarkSessionModel = new MarkSessionModel( "be69cb8c-45e4-4d80-8d55-419984aa2151", "be69cb8c-45e4-4d80-8d55-419984aa2151", ResourceTypeEnum.Project, MarkSessionTypeEnum.ToBeDeleted ); var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); Exception exception = null; try { // Act await markSessionRepository.Create(existingMarkSessionModel); } catch (MarkSessionAlreadyExistsException e) { exception = e; } // Assert Assert.NotNull(exception); }
public async void Delete_MarkSessionModelExists_NoExceptionThrown() { // Arrange var markSessionModel = new MarkSessionModel( "f05725ff-7da3-4dbe-83ce-184a585f47df", "f05725ff-7da3-4dbe-83ce-184a585f47df", ResourceTypeEnum.Project, MarkSessionTypeEnum.ToBeDeleted ) { Id = new ObjectId("5b07dee57aa54a0007b3db52") }; var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); Exception exception = null; try { // Act await markSessionRepository.Delete(markSessionModel); } catch (Exception e) { exception = e; } // Assert Assert.Null(exception); }
public async void GetAll_MarkSessionModelsExist_ReturnsMarkSessionModelList() { // Arrange var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); // Act var result = await markSessionRepository.GetAll(); // Assert Assert.NotEmpty(result); }
public async void GetAllForFilter_FilterIsMarkSessionType_ReturnsMarkSessionModelList() { // Arrange var filterDefinition = Builders <MarkSessionModel> .Filter.Where(entry => entry.MarkSessionType == MarkSessionTypeEnum.ToBeArchived ); var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); // Act var result = await markSessionRepository.GetAllForFilter(filterDefinition); // Assert Assert.NotEmpty(result); }
public async void GetForFilter_FilterIsExistingMarkSessionId_ReturnsMarkSessionModel() { // Arrange var filterDefinition = Builders <MarkSessionModel> .Filter.Eq( MarkSessionModel.BsomElementDefinitionId, new ObjectId("5b07decf7aa54a0007b3db51") ); var dbMongoService = new DbMongoService(); var markSessionRepository = new MarkSessionRepository(dbMongoService); // Act var result = await markSessionRepository.GetForFilter(filterDefinition); // Assert Assert.NotNull(result); }
public async void Create_ExistingMarkSessionModel_ThrowsException() { // Arrange var markSessionModel = MarkSessionModelDataMocks.MockMarkSessionModel(); var markSessionModelIndexManager = new Mock <IMongoIndexManager <MarkSessionModel> >(); markSessionModelIndexManager .Setup(m => m.CreateOneAsync( It.IsAny <IndexKeysDefinition <MarkSessionModel> >(), It.IsAny <CreateIndexOptions>(), It.IsAny <CancellationToken>() )).ReturnsAsync(""); var markSessionCollection = new Mock <IMongoCollection <MarkSessionModel> >(); markSessionCollection .Setup(m => m.Indexes) .Returns(markSessionModelIndexManager.Object); markSessionCollection .Setup(m => m.InsertOneAsync( It.IsAny <MarkSessionModel>(), It.IsAny <InsertOneOptions>(), It.IsAny <CancellationToken>() )).Returns(Task.FromException(new Exception())); var dbMongoService = new Mock <IDbMongoService>(); dbMongoService .Setup(m => m.GetMarkSessionCollection()) .Returns(markSessionCollection.Object); var markSessionRepository = new MarkSessionRepository(dbMongoService.Object); Exception exception = null; try { // Act await markSessionRepository.Create(markSessionModel); } catch (FailedToCreateMarkSessionException e) { exception = e; } // Assert Assert.NotNull(exception); }
public async void Delete_MarkSessionModelWithDependantResources_ThrowsException() { // Arrange var markSessionModel = MarkSessionModelDataMocks.MockMarkSessionModel(); var dbMongoService = new Mock <IDbMongoService>(); var markSessionRepository = new MarkSessionRepository(dbMongoService.Object); Exception exception = null; try { // Act await markSessionRepository.Delete(markSessionModel); } catch (CannotDeleteMarkSessionException e) { exception = e; } // Assert Assert.NotNull(exception); }