public async Task HandleAsync_GivenRepositoryReturnNull_ShouldReturnNotFoundResponse() { // Given const long seiyuuMalId = 0; var mockRepository = new Mock <ISeiyuuRepository>(); var handler = new GetSeiyuuCardInfoQueryHandler(mockRepository.Object); // When var result = await handler.HandleAsync(new GetSeiyuuCardInfoQuery(seiyuuMalId)); // Then mockRepository.Verify(x => x.GetAsync(seiyuuMalId), Times.Once); result.Should().BeNull(); }
public async Task HandleAsync_GivenRepositoryReturnAnime_ShouldReturnResponse() { // Given const long seiyuuMalId = 0; var mockRepository = new Mock <ISeiyuuRepository>(); mockRepository.Setup(x => x.GetAsync(seiyuuMalId)).ReturnsAsync(new SeiyuuBuilder().WithMalId(seiyuuMalId).Build()); var handler = new GetSeiyuuCardInfoQueryHandler(mockRepository.Object); // When var result = await handler.HandleAsync(new GetSeiyuuCardInfoQuery(seiyuuMalId)); // Then mockRepository.Verify(x => x.GetAsync(seiyuuMalId), Times.Once); result.Should().NotBeNull().And.BeOfType(typeof(SeiyuuCardDto)); }
public Task <SeiyuuCardDto> GetCardInfo(long id) { var query = new GetSeiyuuCardInfoQuery(id); return(HandleAsync(async() => await _getSeiyuuCardInfoQueryHandler.HandleAsync(query))); }