Ejemplo n.º 1
0
        public async Task Handle_GivenNullRequest_ShouldThrowArgumentNullException()
        {
            // Act
            var sut = new GetAllGamesSelectListQueryHandler(It.IsAny <IDeletableEntityRepository <Game> >(), It.IsAny <IMapper>());

            // Act & Assert
            await Should.ThrowAsync <ArgumentNullException>(sut.Handle(null, It.IsAny <CancellationToken>()));
        }
Ejemplo n.º 2
0
        public async Task Handle_GivenValidRequest_ShouldReturnValidViewModel()
        {
            // Arrange
            var query = new GetAllGamesSelectListQuery();
            var gameRepositoryMock = new Mock <IDeletableEntityRepository <Game> >();
            var dataSet            = new List <Game>()
            {
                new Game()
                {
                    Id                = 1,
                    Name              = It.IsAny <string>(),
                    Description       = It.IsAny <string>(),
                    CreatedOn         = It.IsAny <DateTime>(),
                    TournamentFormats = It.IsAny <ICollection <TournamentFormat> >(),
                    GameImageUrl      = It.IsAny <string>()
                },
                new Game()
                {
                    Id                = 2,
                    Name              = It.IsAny <string>(),
                    Description       = It.IsAny <string>(),
                    CreatedOn         = It.IsAny <DateTime>(),
                    TournamentFormats = It.IsAny <ICollection <TournamentFormat> >(),
                    GameImageUrl      = It.IsAny <string>()
                },
                new Game()
                {
                    Id                = 3,
                    Name              = "CS:GO",
                    Description       = It.IsAny <string>(),
                    CreatedOn         = It.IsAny <DateTime>(),
                    TournamentFormats = It.IsAny <ICollection <TournamentFormat> >(),
                    GameImageUrl      = It.IsAny <string>()
                },
            }.AsQueryable();

            var dataSetMock = dataSet.BuildMock();

            gameRepositoryMock.Setup(m => m.AllAsNoTracking()).Returns(dataSetMock.Object);

            var sut = new GetAllGamesSelectListQueryHandler(gameRepositoryMock.Object, this.mapper);

            // Act
            var result = await sut.Handle(query, CancellationToken.None);

            // Assert
            result.ShouldNotBeNull();
            result.ShouldNotBeEmpty();
            result.ShouldBeAssignableTo <IEnumerable <GameSelectItemLookupModel> >();
            result.Count().ShouldBe(3);
            result.SingleOrDefault(g => g.Id == 3).Name.ShouldBe("CS:GO");
        }