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>()); }