public async Task On_Get_Should_Return_Todo() { // Given: long id = 0; // And: var queryRepository = new Mock <ITodoQueryRepository>(); queryRepository .Setup(r => r.GetTodoAsync(It.IsAny <long>())) .ReturnsAsync(new Todo() { Id = 0, Name = "Water plants", Completed = false }); // And: var sut = new DefaultTodoService(null, queryRepository.Object); // When: var result = await sut.GetTodoAsync(id); // Then: Assert.Equal(0, result.Id); Assert.Equal("Water plants", result.Name); Assert.Equal(false, result.Completed); }
public async Task On_Get_Should_Throw_FailedToGetTodoException_When_Exception_Received() { // Given: long id = 0; // And: var queryRepository = new Mock <ITodoQueryRepository>(); queryRepository .Setup(r => r.GetTodoAsync(It.IsAny <long>())) .ThrowsAsync(new NullReferenceException("Problems with database!")); // And: var sut = new DefaultTodoService(null, queryRepository.Object); // When: var func = new Func <Task>(async() => { await sut.GetTodoAsync(id); }); // Then: var result = await Assert.ThrowsAsync <FailedToGetTodoException>(func); Assert.Equal("Problems with database!", result.Message); }
public async Task On_Get_Should_Throw_TodoNotFoundException_When_TodoNotFoundException_Received() { // Given: long id = 0; // And: var queryRepository = new Mock <ITodoQueryRepository>(); queryRepository .Setup(r => r.GetTodoAsync(It.IsAny <long>())) .ThrowsAsync(new TodoNotFoundException("0")); // And: var sut = new DefaultTodoService(null, queryRepository.Object); // When: var func = new Func <Task>(async() => { await sut.GetTodoAsync(id); }); // Then: var result = await Assert.ThrowsAsync <TodoNotFoundException>(func); Assert.Equal("0", result.Message); }