Example #1
0
 public SeiyuuController(
     ILoggingService loggingService,
     GetSeiyuuCardInfoQueryHandler getSeiyuuCardInfoQueryHandler,
     SearchSeiyuuQueryHandler searchSeiyuuQueryHandler,
     CompareSeiyuuQueryHandler compareSeiyuuQueryHandler
     ) : base(loggingService)
 {
     _getSeiyuuCardInfoQueryHandler = getSeiyuuCardInfoQueryHandler;
     _searchSeiyuuQueryHandler      = searchSeiyuuQueryHandler;
     _compareSeiyuuQueryHandler     = compareSeiyuuQueryHandler;
 }
        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));
        }