Beispiel #1
0
        public async Task ItShouldEstablishTheChallengeCharacterIndexesWhenTheAccountIsFound()
        {
            var id             = "123123";
            var challengeQuery = new ChallengeQuery(id);

            var account = new Account
            {
                PayeSchemes = new List <PayeSchemeViewModel>
                {
                    new PayeSchemeViewModel {
                        Name = "123/4567789"
                    }
                }
            };

            _mockAccountRepository.Setup(r => r.Get(id, AccountFieldsSelection.PayeSchemes))
            .Returns(Task.FromResult(account));
            var characterIndexes = new List <int>();

            _mockChallengeService.Setup(c => c.GetPayeSchemesCharacters(account.PayeSchemes))
            .Returns(characterIndexes);

            var response = await _unit.Handle(challengeQuery);

            CollectionAssert.AreEqual(characterIndexes, response.Characters);
        }
Beispiel #2
0
        public async Task FetchUserChallengeHistoryAsync_WhenChallengeQuery_ShouldBeChallenge(Game game, ChallengeState state)
        {
            //Arrange
            var challengeFaker = TestData.FakerFactory.CreateChallengeFaker(84566374, game, state);

            var challenge = challengeFaker.FakeChallenge();

            using var factory = new InMemoryDbContextFactory <ChallengesDbContext>();

            await using (var context = factory.CreateContext())
            {
                var challengeRepository = new ChallengeRepository(context);

                challengeRepository.Create(challenge);

                await challengeRepository.CommitAsync();
            }

            await using (var context = factory.CreateContext())
            {
                var challengeQuery = new ChallengeQuery(context);

                //Act
                var challenges = await challengeQuery.FetchUserChallengeHistoryAsync(challenge.Participants.First().UserId, game, state);

                //Assert
                challenges.Single().Should().Be(challenge);
            }
        }
Beispiel #3
0
        public async Task FetchChallengesAsync_ShouldHaveCount(Game game, ChallengeState state)
        {
            //Arrange
            var challengeFaker = TestData.FakerFactory.CreateChallengeFaker(84936374, game);

            var fakeChallenges = challengeFaker.FakeChallenges(4);

            using var factory = new InMemoryDbContextFactory <ChallengesDbContext>();

            await using (var context = factory.CreateContext())
            {
                var challengeRepository = new ChallengeRepository(context);

                challengeRepository.Create(fakeChallenges);

                await challengeRepository.CommitAsync();
            }

            await using (var context = factory.CreateContext())
            {
                var challengeQuery = new ChallengeQuery(context);

                //Act
                var challenges = await challengeQuery.FetchChallengesAsync(game, state);

                //Assert
                challenges.Should().HaveCount(fakeChallenges.Count(challenge => challenge.Game == game && challenge.Timeline == state));
            }
        }
Beispiel #4
0
        public async Task FindChallengeAsync_ShouldBeChallenge(Game game, ChallengeState state)
        {
            //Arrange
            var challengeFaker = TestData.FakerFactory.CreateChallengeFaker(84568994, game, state);

            var challenge = challengeFaker.FakeChallenge();

            using var factory = new InMemoryDbContextFactory <ChallengesDbContext>();

            await using (var context = factory.CreateContext())
            {
                var challengeRepository = new ChallengeRepository(context);

                challengeRepository.Create(challenge);

                await challengeRepository.CommitAsync();
            }

            await using (var context = factory.CreateContext())
            {
                var challengeQuery = new ChallengeQuery(context);

                //Act
                var challengeAsync = await challengeQuery.FindChallengeAsync(challenge.Id);

                //Assert
                challengeAsync.Should().Be(challenge);
            }
        }
Beispiel #5
0
        public async Task ItShouldReturnNotFoundCodeCodeWhenAccountIsNotFound()
        {
            var id             = "123123";
            var challengeQuery = new ChallengeQuery(id);


            _mockAccountRepository.Setup(r => r.Get(id, AccountFieldsSelection.PayeSchemes))
            .Returns(Task.FromResult(null as Account));

            var response = await _unit.Handle(challengeQuery);

            Assert.AreEqual(SearchResponseCodes.NoSearchResultsFound, response.StatusCode);
        }