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, "")); }
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")); }