Exemplo n.º 1
0
        public async Task LogOut()
        {
            //Arrange
            IReadOnlyList <Repository> visibleRepositoryList;

            //Act
            RepositoryPage.TapSettingsButton();

            //Assert
            Assert.AreEqual(GitHubLoginButtonConstants.Disconnect, SettingsPage.GitHubButtonText);

            //Act
            SettingsPage.TapGitHubButton();
            SettingsPage.WaitForGitHubLogoutToComplete();

            //Assert
            Assert.AreEqual(GitHubLoginButtonConstants.ConnectWithGitHub, SettingsPage.GitHubButtonText);

            //Act
            SettingsPage.TapBackButton();

            RepositoryPage.DeclineGitHubUserNotFoundPopup();
            RepositoryPage.TriggerPullToRefresh();
            await RepositoryPage.WaitForNoPullToRefresh().ConfigureAwait(false);

            //Assert
            visibleRepositoryList = RepositoryPage.GetVisibleRepositoryList();
            Assert.IsFalse(visibleRepositoryList.Any());
        }
Exemplo n.º 2
0
        public override async Task BeforeEachTest()
        {
            await base.BeforeEachTest().ConfigureAwait(false);

            var selectedRepository = RepositoryPage.GetVisibleRepositoryList().First();

            RepositoryPage.TapRepository(selectedRepository.Name);

            await TrendsPage.WaitForPageToLoad().ConfigureAwait(false);

            Assert.IsTrue(App.Query(selectedRepository.Name).Any());
        }
Exemplo n.º 3
0
        public async Task Login()
        {
            //Arrange
            IReadOnlyList <Repository> visibleRepositoryList;

            //Act
            await RepositoryPage.WaitForNoPullToRefresh().ConfigureAwait(false);

            //Assert
            visibleRepositoryList = RepositoryPage.GetVisibleRepositoryList();
            Assert.IsTrue(visibleRepositoryList.Any());
        }
Exemplo n.º 4
0
        public async Task VerifyRepositoriesAfterLogin()
        {
            //Arrange
            IReadOnlyList <Repository> visibleRepositoryList;

            //Act
            RepositoryPage.TriggerPullToRefresh();
            await RepositoryPage.WaitForNoPullToRefreshIndicator().ConfigureAwait(false);

            //Assert
            visibleRepositoryList = RepositoryPage.GetVisibleRepositoryList();
            Assert.IsTrue(visibleRepositoryList.Any());
        }
Exemplo n.º 5
0
        public override async Task BeforeEachTest()
        {
            await base.BeforeEachTest().ConfigureAwait(false);

            var repositories = RepositoryPage.GetVisibleRepositoryList();

            RepositoryPage.TapRepository(repositories.First().Name);

            await TrendsPage.WaitForPageToLoad().ConfigureAwait(false);

            TrendsPage.TapReferringSitesButton();

            await ReferringSitesPage.WaitForPageToLoad().ConfigureAwait(false);
        }
Exemplo n.º 6
0
        public async Task VerifyChartSettingsOptions()
        {
            //Arrange

            //Assert
            Assert.AreEqual(TrendsChartOption.All, SettingsPage.CurrentTrendsChartOption);

            //Act
            await SettingsPage.SetTrendsChartOption(TrendsChartOption.JustUniques).ConfigureAwait(false);

            //Assert
            Assert.AreEqual(TrendsChartOption.JustUniques, SettingsPage.CurrentTrendsChartOption);

            //Act
            await SettingsPage.SetTrendsChartOption(TrendsChartOption.All).ConfigureAwait(false);

            //Assert
            Assert.AreEqual(TrendsChartOption.All, SettingsPage.CurrentTrendsChartOption);

            //Act
            await SettingsPage.SetTrendsChartOption(TrendsChartOption.NoUniques);

            //Assert
            Assert.AreEqual(TrendsChartOption.NoUniques, SettingsPage.CurrentTrendsChartOption);

            //Act
            SettingsPage.TapBackButton();

            await RepositoryPage.WaitForPageToLoad().ConfigureAwait(false);

            await RepositoryPage.WaitForNoPullToRefreshIndicator().ConfigureAwait(false);

            var visibleRepositories = RepositoryPage.GetVisibleRepositoryList();

            RepositoryPage.TapRepository(visibleRepositories.First().Name);

            await TrendsPage.WaitForPageToLoad().ConfigureAwait(false);

            //Assert
            Assert.IsTrue(TrendsPage.IsSeriesVisible(TrendsChartConstants.TotalViewsTitle));
            Assert.IsTrue(TrendsPage.IsSeriesVisible(TrendsChartConstants.TotalClonesTitle));
            Assert.IsFalse(TrendsPage.IsSeriesVisible(TrendsChartConstants.UniqueViewsTitle));
            Assert.IsFalse(TrendsPage.IsSeriesVisible(TrendsChartConstants.UniqueClonesTitle));
        }
Exemplo n.º 7
0
        public async Task DismissSortingMenu()
        {
            //Arrange
            Repository finalTopRepository;
            Repository finalSecondTopRepository;
            Repository initialTopRepository       = RepositoryPage.GetVisibleRepositoryList().First();
            Repository initialSecondTopRepository = RepositoryPage.GetVisibleRepositoryList().Skip(1).First();

            //Act
            await RepositoryPage.DismissSortingMenu().ConfigureAwait(false);

            //Assert
            finalTopRepository       = RepositoryPage.GetVisibleRepositoryList().First();
            finalSecondTopRepository = RepositoryPage.GetVisibleRepositoryList().Skip(1).First();

            if (initialTopRepository.IsTrending == initialSecondTopRepository.IsTrending)
            {
                Assert.GreaterOrEqual(initialTopRepository.TotalViews, initialSecondTopRepository.TotalViews);
            }

            Assert.AreEqual(initialTopRepository.Name, finalTopRepository.Name);
            Assert.AreEqual(initialSecondTopRepository.Name, finalSecondTopRepository.Name);
        }
Exemplo n.º 8
0
        public async Task VerifySortingOptions(SortingOption sortingOption)
        {
            //Arrange
            Repository finalTopRepository;
            Repository finalSecondTopRepository;
            Repository initialTopRepository       = RepositoryPage.GetVisibleRepositoryList().First();
            Repository initialSecondTopRepository = RepositoryPage.GetVisibleRepositoryList().Skip(1).First();

            //Act
            RepositoryPage.SetSortingOption(sortingOption);

            //Allow RepositoryList to update
            await Task.Delay(1000).ConfigureAwait(false);

            //Assert
            finalTopRepository       = RepositoryPage.GetVisibleRepositoryList().First();
            finalSecondTopRepository = RepositoryPage.GetVisibleRepositoryList().Skip(1).First();

            if (initialTopRepository.IsTrending && initialSecondTopRepository.IsTrending ||
                !initialTopRepository.IsTrending && !initialSecondTopRepository.IsTrending)
            {
                Assert.GreaterOrEqual(initialSecondTopRepository.TotalViews, initialSecondTopRepository.TotalViews);
            }

            Assert.AreNotEqual(initialTopRepository, finalTopRepository);
            Assert.AreNotEqual(initialSecondTopRepository, finalSecondTopRepository);
            Assert.AreNotEqual(initialTopRepository, initialSecondTopRepository);
            Assert.AreNotEqual(finalTopRepository, finalSecondTopRepository);

            switch (sortingOption)
            {
            case SortingOption.Stars:
                Assert.GreaterOrEqual(finalTopRepository.StarCount, finalSecondTopRepository.StarCount);
                break;

            case SortingOption.Clones:
                Assert.GreaterOrEqual(finalTopRepository.TotalClones, finalSecondTopRepository.TotalClones);
                break;

            case SortingOption.Forks:
                Assert.GreaterOrEqual(finalTopRepository.ForkCount, finalSecondTopRepository.ForkCount);
                break;

            case SortingOption.Issues:
                Assert.GreaterOrEqual(finalTopRepository.IssuesCount, finalSecondTopRepository.IssuesCount);
                break;

            case SortingOption.UniqueClones:
                Assert.GreaterOrEqual(finalTopRepository.TotalUniqueClones, finalSecondTopRepository.TotalUniqueClones);
                break;

            case SortingOption.UniqueViews:
                Assert.GreaterOrEqual(finalTopRepository.TotalUniqueViews, finalSecondTopRepository.TotalUniqueViews);
                break;

            case SortingOption.Views:
                Assert.GreaterOrEqual(finalTopRepository.TotalViews, finalSecondTopRepository.TotalViews);
                break;

            case SortingOption.Trending:
                Assert.LessOrEqual(finalTopRepository.TotalViews, finalSecondTopRepository.TotalViews);
                break;

            default:
                throw new NotSupportedException();
            }
            ;
        }