示例#1
0
            public void RequestsTheCorrectUrlAndReturnsRepositories()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                client.GetAllForCurrent();

                connection.Received()
                .GetAll <Repository>(Arg.Is <Uri>(u => u.ToString() == "user/repos"));
            }
示例#2
0
            public async Task RequestsTheCorrectUrlAndReturnsRepositories()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                await client.GetAllForCurrent();

                connection.Received()
                .GetAll <Repository>(Arg.Is <Uri>(u => u.ToString() == "user/repos"), null, "application/vnd.github.drax-preview+json", Args.ApiOptions);
            }
示例#3
0
            public void CanFilterByType()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.All
                };

                client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d => d["type"] == "all"));
            }
示例#4
0
            public void CanFilterByVisibility()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Visibility = RepositoryVisibility.Private
                };

                client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["visibility"] == "private"));
            }
示例#5
0
            public async Task CanFilterByType()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.All
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d => d["type"] == "all"),
                    "application/vnd.github.drax-preview+json",
                    Args.ApiOptions);
            }
示例#6
0
            public void CanFilterByAffiliation()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Affiliation = RepositoryAffiliation.Owner,
                    Sort        = RepositorySort.FullName
                };

                client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["affiliation"] == "owner" && d["sort"] == "full_name"));
            }
示例#7
0
            public void CanFilterBySort()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.Private,
                    Sort = RepositorySort.FullName
                };

                client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["type"] == "private" && d["sort"] == "full_name"));
            }
示例#8
0
            public void CanFilterBySortDirection()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type      = RepositoryType.Member,
                    Sort      = RepositorySort.Updated,
                    Direction = SortDirection.Ascending
                };

                client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["type"] == "member" && d["sort"] == "updated" && d["direction"] == "asc"));
            }
示例#9
0
            public async Task CanFilterByAffiliation()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Affiliation = RepositoryAffiliation.Owner,
                    Sort        = RepositorySort.FullName
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["affiliation"] == "owner" && d["sort"] == "full_name"),
                    "application/vnd.github.drax-preview+json",
                    Args.ApiOptions);
            }
示例#10
0
            public async Task CanFilterBySortDirection()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type      = RepositoryType.Member,
                    Sort      = RepositorySort.Updated,
                    Direction = SortDirection.Ascending
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                .GetAll <Repository>(
                    Arg.Is <Uri>(u => u.ToString() == "user/repos"),
                    Arg.Is <Dictionary <string, string> >(d =>
                                                          d["type"] == "member" && d["sort"] == "updated" && d["direction"] == "asc"),
                    "application/vnd.github.drax-preview+json",
                    Args.ApiOptions);
            }
示例#11
0
            public void CanFilterBySort()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.Private,
                    Sort = RepositorySort.FullName
                };

                client.GetAllForCurrent(request);

                connection.Received()
                    .GetAll<Repository>(
                        Arg.Is<Uri>(u => u.ToString() == "user/repos"),
                        Arg.Is<Dictionary<string, string>>(d =>
                            d["type"] == "private" && d["sort"] == "full_name"));
            }
            public async Task CanFilterByType()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.All
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                    .GetAll<Repository>(
                        Arg.Is<Uri>(u => u.ToString() == "user/repos"),
                        Arg.Is<Dictionary<string, string>>(d => d["type"] == "all"),
                        Args.ApiOptions);
            }
            public async Task CanFilterBySortDirection()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Type = RepositoryType.Member,
                    Sort = RepositorySort.Updated,
                    Direction = SortDirection.Ascending
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                    .GetAll<Repository>(
                        Arg.Is<Uri>(u => u.ToString() == "user/repos"),
                        Arg.Is<Dictionary<string, string>>(d =>
                            d["type"] == "member" && d["sort"] == "updated" && d["direction"] == "asc"),
                        Args.ApiOptions);
            }
            public async Task CanFilterByVisibility()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Visibility = RepositoryVisibility.Private
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                    .GetAll<Repository>(
                        Arg.Is<Uri>(u => u.ToString() == "user/repos"),
                        Arg.Is<Dictionary<string, string>>(d =>
                            d["visibility"] == "private"),
                        Args.ApiOptions);
            }
            public async Task RequestsTheCorrectUrlAndReturnsRepositories()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                await client.GetAllForCurrent();

                connection.Received()
                    .GetAll<Repository>(Arg.Is<Uri>(u => u.ToString() == "user/repos"), Args.ApiOptions);
            }
            public async Task CanFilterByAffiliation()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                var request = new RepositoryRequest
                {
                    Affiliation = RepositoryAffiliation.Owner,
                    Sort = RepositorySort.FullName
                };

                await client.GetAllForCurrent(request);

                connection.Received()
                    .GetAll<Repository>(
                        Arg.Is<Uri>(u => u.ToString() == "user/repos"),
                        Arg.Is<Dictionary<string, string>>(d =>
                            d["affiliation"] == "owner" && d["sort"] == "full_name"),
                        Args.ApiOptions);
            }
            public void RequestsTheCorrectUrlAndReturnsOrganizations()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new RepositoriesClient(connection);

                client.GetAllForCurrent();

                connection.Received()
                    .GetAll<Repository>(Arg.Is<Uri>(u => u.ToString() == "user/repos"));
            }