Ejemplo n.º 1
0
        public void Add_throws_db_update_exception_when_item_with_provided_term_name_already_exists()
        {
            var itemForAdd = new GlossaryItemAddDto
            {
                Term       = "Existing term",
                Definition = "Test definition"
            };

            var existingGlossaryItem = new GlossaryItem
            {
                Term       = "Existing term",
                Definition = "Test definition"
            };

            _mapperMock
            .Setup(e => e.Map <GlossaryItemAddDto, GlossaryItem>(itemForAdd))
            .Returns(existingGlossaryItem);

            _unitOfWorkMock.Setup(e => e.Commit())
            .Throws(new DbUpdateException());
            _glossaryRepositoryMock.Setup(e => e.AddAsync(existingGlossaryItem))
            .Returns(Task.CompletedTask);

            _glossaryItemsService = new GlossaryItemsService(_glossaryRepositoryMock.Object, _unitOfWorkMock.Object, _mapperMock.Object);
            Assert.ThrowsAsync <DbUpdateException>(async() => await _glossaryItemsService.AddAsync(itemForAdd));
            _unitOfWorkMock.Verify(e => e.Commit(), Times.Once);
        }
Ejemplo n.º 2
0
 public void Init()
 {
     _glossaryRepositoryMock = new Mock <IGlossaryRepository>(MockBehavior.Strict);
     _unitOfWorkMock         = new Mock <IUnitOfWork>(MockBehavior.Strict);
     _mapperMock             = new Mock <IMapper>();
     _glossaryItemsService   = new GlossaryItemsService(_glossaryRepositoryMock.Object, _unitOfWorkMock.Object, _mapperMock.Object);
 }
Ejemplo n.º 3
0
        public void Delete_throws_non_existing_item_exception_when_item_not_found()
        {
            GlossaryItem glossaryItemNull = null;

            _glossaryRepositoryMock.Setup(e => e.FindByIdAsync(3))
            .Returns(Task.FromResult(glossaryItemNull));
            _unitOfWorkMock.Setup(e => e.Commit());

            _glossaryItemsService = new GlossaryItemsService(_glossaryRepositoryMock.Object, _unitOfWorkMock.Object, _mapperMock.Object);

            Assert.ThrowsAsync <NonExistingItemException>(() => _glossaryItemsService.DeleteAsync(3));
            _glossaryRepositoryMock.Verify(e => e.FindByIdAsync(3), Times.Once);
            _unitOfWorkMock.Verify(e => e.Commit(), Times.Never);
        }
Ejemplo n.º 4
0
        public void Update_throws_non_existing_item_exception_when_item_not_found()
        {
            var itemForUpdateDto = new GlossaryItemUpdateDto
            {
                Definition = "Updated definition"
            };

            GlossaryItem glossaryItemNull = null;

            _unitOfWorkMock.Setup(e => e.Commit());
            _glossaryRepositoryMock.Setup(e => e.FindByIdAsync(3))
            .Returns(Task.FromResult(glossaryItemNull));

            _glossaryItemsService = new GlossaryItemsService(_glossaryRepositoryMock.Object, _unitOfWorkMock.Object, _mapperMock.Object);

            Assert.ThrowsAsync <NonExistingItemException>(async() => await _glossaryItemsService.UpdateAsync(itemForUpdateDto, 3));
            _glossaryRepositoryMock.Verify(e => e.FindByIdAsync(3), Times.Once);
            _unitOfWorkMock.Verify(e => e.Commit(), Times.Never);
        }