Beispiel #1
0
 public RiotClient(string apiKey)
 {
     Summoner  = new SummonerService(apiKey);
     League    = new LeagueService(apiKey);
     Masteries = new MasteryService(apiKey);
     Specate   = new SpecateService(apiKey);
 }
        public async Task ThrowArgumentNullException_WhenPassedNullAccessToken()
        {
            // Arrange
            Mock <IPandaScoreClient> pandaScoreClientMock = new Mock <IPandaScoreClient>();
            Mock <DataContext>       dataContextMock      = new Mock <DataContext>();

            // Act
            MasteryService SUT = new MasteryService(
                pandaScoreClientMock.Object,
                dataContextMock.Object);

            // Assert
            await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() =>
                                                                      await SUT.RebaseMasteriesAsync(null));
        }
Beispiel #3
0
        public async Task RebaseMasteriesAsync_ShouldRepopulateMasteriesTable_WhenPassedValidParameters()
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <DataContext>()
                                 .UseInMemoryDatabase(databaseName: "RebaseMasteriesAsync_ShouldRepopulateMasteriesTable_WhenPassedValidParameters")
                                 .Options;

            string validAccessToken    = string.Empty;
            string validCollectionName = "masteries";
            int    validPageSize       = 100;

            Mastery validMastery = new Mastery
            {
                Id        = Guid.NewGuid(),
                Name      = "testMastery",
                DeletedOn = DateTime.UtcNow.AddHours(2),
                IsDeleted = true
            };

            IEnumerable <Mastery> validMasteryList = new List <Mastery>()
            {
                validMastery
            };

            // Act
            using (DataContext actContext = new DataContext(contextOptions))
            {
                Mock <IPandaScoreClient> pandaScoreClientMock = new Mock <IPandaScoreClient>();

                pandaScoreClientMock
                .Setup(mock => mock.GetEntitiesParallel <Mastery>(validAccessToken, validCollectionName, validPageSize))
                .Returns(Task.FromResult(validMasteryList));

                MasteryService SUT = new MasteryService(
                    pandaScoreClientMock.Object,
                    actContext);

                await SUT.RebaseMasteriesAsync(validAccessToken);
            }

            // Assert
            using (DataContext assertContext = new DataContext(contextOptions))
            {
                Assert.IsTrue(assertContext.Masteries.Count() == 1);
                Assert.IsTrue(assertContext.Masteries.Contains(validMastery));
            }
        }
Beispiel #4
0
        public async Task FilterMasteriesAsync_ShouldReturnMasteries_WhenPassedValidParameters()
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <DataContext>()
                                 .UseInMemoryDatabase(databaseName: "FilterMasteries_ShouldReturnMasteries_WhenPassedValidParameters")
                                 .Options;

            string validSortOrder  = "name_asc";
            string validFilter     = "testMastery";
            int    validPageSize   = 10;
            int    validPageNumber = 1;

            string validName = "testMastery";

            Mastery validMastery = new Mastery
            {
                Name = validName
            };

            IEnumerable <Mastery> result = new List <Mastery>();

            // Act
            using (DataContext actContext = new DataContext(contextOptions))
            {
                Mock <IPandaScoreClient> pandaScoreEndpointrMock = new Mock <IPandaScoreClient>();

                await actContext.Masteries.AddAsync(validMastery);

                await actContext.SaveChangesAsync();

                MasteryService SUT = new MasteryService(
                    pandaScoreEndpointrMock.Object,
                    actContext);

                result = await SUT.FilterMasteriesAsync(validSortOrder, validFilter, validPageNumber, validPageSize);
            }

            // Assert
            using (DataContext assertContext = new DataContext(contextOptions))
            {
                var mastery = result.ToArray()[0];

                Assert.IsTrue(assertContext.Masteries.Count().Equals(result.Count()));
                Assert.IsTrue(assertContext.Masteries.Any(m => m.Name.Equals(mastery.Name)));
            }
        }
Beispiel #5
0
        public async Task ThrowArgumentOutOfRangeException_WhenPassedInvalidPageSize(int invalidPageSize)
        {
            // Arrange
            Mock <IPandaScoreClient> pandaScoreClientMock = new Mock <IPandaScoreClient>();
            Mock <DataContext>       dataContextMock      = new Mock <DataContext>();

            string validSortOrder  = string.Empty;
            string validFilter     = string.Empty;
            int    validPageNumber = 1;

            MasteryService SUT = new MasteryService(
                pandaScoreClientMock.Object,
                dataContextMock.Object);

            // Act & Assert
            await Assert.ThrowsExceptionAsync <ArgumentOutOfRangeException>(
                () => SUT.FilterMasteriesAsync(validSortOrder, validFilter, validPageNumber, invalidPageSize));
        }