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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }