public void RequestsCorrectUrl()
            {
                var githubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableReactionsClient(githubClient);
                var newReaction = new NewReaction(ReactionType.Confused);

                client.CommitComment.Create("fake", "repo", 1, newReaction);
                githubClient.Received().Reaction.CommitComment.Create("fake", "repo", 1, newReaction);
            }
            public void PostsToCorrectUrl()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableReactionsClient(gitHubClient);

                client.Delete(13);

                gitHubClient.Reaction.Received().Delete(13);
            }
            public void RequestsCorrectUrlWithRepositoryId()
            {
                var githubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableReactionsClient(githubClient);
                var newReaction = new NewReaction(ReactionType.Confused);

                client.Issue.Create(1, 1, newReaction);

                githubClient.Received().Reaction.Issue.Create(1, 1, newReaction);
            }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity = new ObservableActivitiesClient(gitHubClient);
            Issue = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient);
            Oauth = new ObservableOauthClient(gitHubClient);
            Organization = new ObservableOrganizationsClient(gitHubClient);
            PullRequest = new ObservablePullRequestsClient(gitHubClient);
            Repository = new ObservableRepositoriesClient(gitHubClient);
            User = new ObservableUsersClient(gitHubClient);
            Git = new ObservableGitDatabaseClient(gitHubClient);
            Gist = new ObservableGistsClient(gitHubClient);
            Search = new ObservableSearchClient(gitHubClient);
            Enterprise = new ObservableEnterpriseClient(gitHubClient);
            Migration = new ObservableMigrationClient(gitHubClient);
            Reaction = new ObservableReactionsClient(gitHubClient);
        }
        // #LineComplexity: 1
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity      = new ObservableActivitiesClient(gitHubClient);
            Issue         = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient);
            Oauth         = new ObservableOauthClient(gitHubClient);
            Organization  = new ObservableOrganizationsClient(gitHubClient);
            PullRequest   = new ObservablePullRequestsClient(gitHubClient);
            Repository    = new ObservableRepositoriesClient(gitHubClient);
            User          = new ObservableUsersClient(gitHubClient);
            Git           = new ObservableGitDatabaseClient(gitHubClient);
            Gist          = new ObservableGistsClient(gitHubClient);
            Search        = new ObservableSearchClient(gitHubClient);
            Enterprise    = new ObservableEnterpriseClient(gitHubClient);
            Migration     = new ObservableMigrationClient(gitHubClient);
            Reaction      = new ObservableReactionsClient(gitHubClient);
        }