public void CreatesFromClientIssueIssue() { var newIssue = new NewIssue("some title"); var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableIssuesClient(gitHubClient); client.Create("fake", "repo", newIssue); gitHubClient.Issue.Received().Create("fake", "repo", newIssue); }
public void EnsuresNonNullArguments() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableIssuesClient(gitHubClient); Assert.Throws <ArgumentNullException>(() => client.Create(null, "name", new NewIssue("x"))); Assert.Throws <ArgumentNullException>(() => client.Create("owner", null, new NewIssue("x"))); Assert.Throws <ArgumentNullException>(() => client.Create("owner", "name", null)); Assert.Throws <ArgumentNullException>(() => client.Create(1, null)); Assert.Throws <ArgumentException>(() => client.Create("", "name", new NewIssue("x"))); Assert.Throws <ArgumentException>(() => client.Create("owner", "", new NewIssue("x"))); }