コード例 #1
0
    public async Task DeleteAsync_Should_Delete_Entity_From_Database()
    {
        //Arrange
        var todoListId = Guid.NewGuid();
        var todoList   = Builder <TodoList> .CreateNew()
                         .With(tl => tl.CreatedBy = new Guid().ToString())
                         .With(tl => tl.Id        = todoListId)
                         .Build();

        TodoListRepository.GetFirstAsync(Arg.Any <Expression <Func <TodoList, bool> > >()).Returns(todoList);
        TodoListRepository.DeleteAsync(Arg.Any <TodoList>()).Returns(todoList);

        //Act
        var result = await _sut.DeleteAsync(Guid.NewGuid());

        //Assert
        result.Id.Should().Be(todoListId);
        await TodoListRepository.Received().GetFirstAsync(Arg.Any <Expression <Func <TodoList, bool> > >());

        await TodoListRepository.Received().DeleteAsync(Arg.Any <TodoList>());
    }