public void DeleteCorrectUrlWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableIssuesLabelsClient(gitHubClient); client.RemoveFromIssue(1, 42, "label"); connection.Received().Delete <IReadOnlyList <Label> >(Arg.Is <Uri>(u => u.ToString() == "repositories/1/issues/42/labels/label"), Arg.Any <object>(), "application/vnd.github.symmetra-preview+json"); }
public void DeleteCorrectUrlWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableIssuesLabelsClient(gitHubClient); client.RemoveFromIssue(1, 42, "label"); connection.Received().Delete(Arg.Is <Uri>(u => u.ToString() == "repositories/1/issues/42/labels/label")); }
public void DeleteCorrectUrl() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableIssuesLabelsClient(gitHubClient); client.RemoveFromIssue("fake", "repo", 42, "label"); connection.Received().Delete <IReadOnlyList <Label> >(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues/42/labels/label"), Arg.Any <object>()); }
public async Task EnsuresNonNullArguments() { var client = new ObservableIssuesLabelsClient(Substitute.For <IGitHubClient>()); Assert.Throws <ArgumentNullException>(() => client.RemoveFromIssue(null, "name", 42, "label")); Assert.Throws <ArgumentNullException>(() => client.RemoveFromIssue("owner", null, 42, "label")); Assert.Throws <ArgumentNullException>(() => client.RemoveFromIssue("owner", "name", 42, null)); Assert.Throws <ArgumentNullException>(() => client.RemoveFromIssue(1, 42, null)); Assert.Throws <ArgumentException>(() => client.RemoveFromIssue("", "name", 42, "label")); Assert.Throws <ArgumentException>(() => client.RemoveFromIssue("owner", "", 42, "label")); Assert.Throws <ArgumentException>(() => client.RemoveFromIssue("owner", "name", 42, "")); Assert.Throws <ArgumentException>(() => client.RemoveFromIssue(1, 42, "")); }