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); }
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); } }
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)); } }
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); } }
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); }