예제 #1
0
        public async Task Handle_NoPollsInTheStorage_ReturnEmpty()
        {
            // Arrange
            var query = new GetPollsQuery();

            _pollRepository
            .Setup(x => x.ReadAll(-1, -1))
            .ReturnsAsync(Enumerable.Empty <Poll>());

            _mapper
            .Setup(x => x.Map <GetPollsQueryPollSummary>(It.IsAny <Poll>()))
            .Returns(new GetPollsQueryPollSummary());

            // Act
            var response = await _handler.Handle(query, CancellationToken.None);

            // Assert
            Assert.That(response.Polls, Is.Empty);
        }
예제 #2
0
        public async Task Handle_DetailedPollsInTheStorage_ReturnSummary()
        {
            // Arrange
            var query = new GetPollsQuery();
            var poll1 = CreatePoll();
            var poll2 = CreatePoll();
            var polls = new[] { poll1, poll2 };

            var expectedSummaries = new[]
            {
                new GetPollsQueryPollSummary {
                    Name = "Poll 1 Item"
                },
                new GetPollsQueryPollSummary {
                    Name = "Poll 2 Item"
                }
            };

            _pollRepository
            .Setup(x => x.ReadCount())
            .ReturnsAsync(2);

            _pollRepository
            .Setup(x => x.ReadAll(0, 2))
            .ReturnsAsync(new[] { poll1, poll2 });

            _mapper
            .Setup(x => x.Map <IEnumerable <GetPollsQueryPollSummary> >(polls))
            .Returns(expectedSummaries);

            // Act
            var response = await _handler.Handle(query, CancellationToken.None);

            // Assert
            Assert.That(response.Polls.Count(), Is.EqualTo(2));
            Assert.That(response.Polls.ElementAt(0).Name, Is.EqualTo("Poll 1 Item"));
            Assert.That(response.Polls.ElementAt(1).Name, Is.EqualTo("Poll 2 Item"));
        }