public async Task RequestsTheCorrectUrl() { var github = Substitute.For <IGitHubClient>(); var client = new ObservableTeamsClient(github); var request = new UpdateTeamMembership(TeamRole.Maintainer); client.AddOrEditMembership(1, "user", request); github.Organization.Team.Received().AddOrEditMembership(1, "user", request); }
public async Task EnsuresNonNullOrEmptyArguments() { var github = Substitute.For <IGitHubClient>(); var client = new ObservableTeamsClient(github); var request = new UpdateTeamMembership(TeamRole.Maintainer); Assert.Throws <ArgumentNullException>(() => client.AddOrEditMembership(1, null, request)); Assert.Throws <ArgumentNullException>(() => client.AddOrEditMembership(1, "user", null)); Assert.Throws <ArgumentException>(() => client.AddOrEditMembership(1, "", request)); }
public async Task EnsuresNonNullOrEmptyArguments() { var connection = Substitute.For <IApiConnection>(); var client = new TeamsClient(connection); var request = new UpdateTeamMembership(TeamRole.Maintainer); await Assert.ThrowsAsync <ArgumentNullException>(() => client.AddOrEditMembership(1, null, request)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.AddOrEditMembership(1, "user", null)); await Assert.ThrowsAsync <ArgumentException>(() => client.AddOrEditMembership(1, "", request)); }
public async Task RequestsTheCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new TeamsClient(connection); var request = new UpdateTeamMembership(TeamRole.Maintainer); await client.AddOrEditMembership(1, "user", request); connection.Received().Put <TeamMembershipDetails>( Arg.Is <Uri>(u => u.ToString() == "teams/1/memberships/user"), Arg.Is <UpdateTeamMembership>(x => x.Role == TeamRole.Maintainer)); }
/// <summary> /// Adds a <see cref="User"/> to a <see cref="Team"/>. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/orgs/teams/#add-or-update-team-membership">API documentation</a> for more information. /// </remarks> /// <param name="id">The team identifier.</param> /// <param name="login">The user to add to the team.</param> /// <param name="request">Additional parameters for the request</param> public IObservable <TeamMembershipDetails> AddOrEditMembership(int id, string login, UpdateTeamMembership request) { Ensure.ArgumentNotNullOrEmptyString(login, nameof(login)); Ensure.ArgumentNotNull(request, nameof(request)); return(_client.AddOrEditMembership(id, login, request).ToObservable()); }