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));
        }
Example #3
0
        public Task <SeiyuuCardDto> GetCardInfo(long id)
        {
            var query = new GetSeiyuuCardInfoQuery(id);

            return(HandleAsync(async() => await _getSeiyuuCardInfoQueryHandler.HandleAsync(query)));
        }