public async Task EnsuresNonNullArguments() { var client = new ObservableOrganizationMembersClient(Substitute.For<IGitHubClient>()); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAll(null).ToTask()); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAll("").ToTask()); }
public void RequestsCorrectUrl() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableOrganizationMembersClient(gitHubClient); client.GetAll("org"); gitHubClient.Connection.Received(1).Get<List<User>>( new Uri("orgs/org/members", UriKind.Relative), Args.EmptyDictionary, null); }
public void RequestsCorrectUrl() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableOrganizationMembersClient(gitHubClient); client.GetAll("org"); gitHubClient.Connection.GetAsync<IReadOnlyList<User>>( new Uri("orgs/org/members", UriKind.Relative), null, null); }
public void RequestsCorrectUrlWithApiOptions() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableOrganizationMembersClient(gitHubClient); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; client.GetAll("org", options); gitHubClient.Connection.Received(1).Get<List<User>>( new Uri("orgs/org/members", UriKind.Relative), Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null); }
public void TwoFactorFilterRequestTheCorrectUrlWithApiOptions() { var client = Substitute.For<IGitHubClient>(); var orgMembersClient = new ObservableOrganizationMembersClient(client); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; orgMembersClient.GetAll("org", OrganizationMembersFilter.TwoFactorAuthenticationDisabled, options); client.Connection.Received(1).Get<List<User>>( new Uri("orgs/org/members?filter=2fa_disabled", UriKind.Relative), Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null); }
public async Task EnsuresNonNullArguments() { var client = new ObservableOrganizationMembersClient(Substitute.For<IGitHubClient>()); Assert.Throws<ArgumentNullException>(() => client.GetAll(null)); Assert.Throws<ArgumentNullException>(() => client.GetAll(null, ApiOptions.None)); Assert.Throws<ArgumentNullException>(() => client.GetAll("org", null)); Assert.Throws<ArgumentNullException>(() => client.GetAll(null, OrganizationMembersFilter.All)); Assert.Throws<ArgumentNullException>(() => client.GetAll(null, OrganizationMembersFilter.All, ApiOptions.None)); Assert.Throws<ArgumentNullException>(() => client.GetAll("org", OrganizationMembersFilter.All, null)); Assert.Throws<ArgumentNullException>(() => client.GetAll(null, OrganizationMembersFilter.All, OrganizationMembersRole.Admin)); Assert.Throws<ArgumentNullException>(() => client.GetAll(null, OrganizationMembersFilter.All, OrganizationMembersRole.Admin, ApiOptions.None)); Assert.Throws<ArgumentNullException>(() => client.GetAll("org", OrganizationMembersFilter.All, OrganizationMembersRole.Admin, null)); Assert.Throws<ArgumentException>(() => client.GetAll("")); Assert.Throws<ArgumentException>(() => client.GetAll("", ApiOptions.None)); Assert.Throws<ArgumentException>(() => client.GetAll("", OrganizationMembersFilter.All)); Assert.Throws<ArgumentException>(() => client.GetAll("", OrganizationMembersFilter.All, OrganizationMembersRole.Admin)); Assert.Throws<ArgumentException>(() => client.GetAll("", OrganizationMembersFilter.All, OrganizationMembersRole.Admin, ApiOptions.None)); }
public void TwoFactorFilterPlusMemberRoleRequestTheCorrectUrlWithApiOptions() { var client = Substitute.For<IGitHubClient>(); var orgMembersClient = new ObservableOrganizationMembersClient(client); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; orgMembersClient.GetAll("org", OrganizationMembersFilter.TwoFactorAuthenticationDisabled, OrganizationMembersRole.Member, options); client.Connection.Received().Get<List<User>>(Arg.Is<Uri>(u => u.ToString() == "orgs/org/members?filter=2fa_disabled&role=member"), Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null); }