public void CallsIntoClient() { var gitHubClient = Substitute.For<IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new ReleaseUpdate("fake-tag"); releasesClient.CreateRelease("fake", "repo", data); gitHubClient.Release.Received(1).CreateRelease("fake", "repo", data); }
public void RequestsCorrectUrl() { var gitHubClient = Substitute.For<IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new ReleaseUpdate("fake-tag"); releasesClient.CreateRelease("fake", "repo", data); gitHubClient.Connection.PostAsync<Release>( new Uri("repos/fake/repo/releases", UriKind.Relative), data, null, null); }
public void EnsuresArgumentsNotNull() { var releasesClient = new ObservableReleasesClient(Substitute.For<IGitHubClient>()); var data = new ReleaseUpdate("fake-tag"); Assert.Throws<ArgumentNullException>(() => new ReleaseUpdate(null)); Assert.Throws<ArgumentNullException>(() => releasesClient.CreateRelease(null, "name", data)); Assert.Throws<ArgumentNullException>(() => releasesClient.CreateRelease("owner", null, data)); Assert.Throws<ArgumentNullException>(() => releasesClient.CreateRelease("owner", "name", null)); }