public async Task Update_change_item_definition_success() { var itemForUpdateDto = new GlossaryItemUpdateDto { Definition = "Updated definition" }; var itemBeforeUpdate = new GlossaryItem { Id = 3, Term = "alkaline", Definition = "Definition test" }; var itemAfterUpdate = new GlossaryItem { Id = 3, Term = "alkaline", Definition = "Updated definition" }; var itemAfterUpdateDto = new GlossaryItemDto { Id = 3, Term = "alkaline", Definition = "Updated definition" }; _unitOfWorkMock.Setup(e => e.Commit()); _glossaryRepositoryMock.Setup(e => e.FindByIdAsync(3)) .Returns(Task.FromResult(itemBeforeUpdate)); _mapperMock .Setup(e => e.Map <GlossaryItem, GlossaryItemDto>(itemAfterUpdate)) .Returns(itemAfterUpdateDto); _glossaryRepositoryMock.Setup(e => e.Update(itemBeforeUpdate)); await _glossaryItemsService.UpdateAsync(itemForUpdateDto, 3); _glossaryRepositoryMock.Verify(e => e.FindByIdAsync(3), Times.Once); _unitOfWorkMock.Verify(e => e.Commit(), Times.Once); }
public async Task Add_item_success() { var itemToAdd = new GlossaryItem { Id = 3, Term = "alkaline", Definition = "Definition test" }; var itemToAddDto = new GlossaryItemAddDto { Term = "alkaline", Definition = "Updated definition" }; var itemAfterAddDto = new GlossaryItemDto { Id = 3, Term = "alkaline", Definition = "Updated definition" }; _glossaryRepositoryMock.Setup(e => e.AddAsync(itemToAdd)) .Returns(Task.CompletedTask); _unitOfWorkMock.Setup(e => e.Commit()); _mapperMock .Setup(e => e.Map <GlossaryItemAddDto, GlossaryItem>(itemToAddDto)) .Returns(itemToAdd); _mapperMock .Setup(e => e.Map <GlossaryItem, GlossaryItemDto>(itemToAdd)) .Returns(itemAfterAddDto); var result = await _glossaryItemsService.AddAsync(itemToAddDto); _glossaryRepositoryMock.Verify(e => e.AddAsync(itemToAdd), Times.Once); _unitOfWorkMock.Verify(e => e.Commit(), Times.Once); _mapperMock.Verify(e => e.Map <GlossaryItemAddDto, GlossaryItem>(itemToAddDto)); _mapperMock.Verify(e => e.Map <GlossaryItem, GlossaryItemDto>(itemToAdd)); Assert.AreEqual(itemAfterAddDto, result); }