Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }