public void EnsuresNonNullArguments() { var releasesClient = new ObservableReleasesClient(Substitute.For<IGitHubClient>()); Assert.Throws<ArgumentNullException>(() => releasesClient.GetAll(null, "name")); Assert.Throws<ArgumentNullException>(() => releasesClient.GetAll("owner", null)); }
public async Task EnsuresNonNullArguments() { var releasesClient = new ObservableReleasesClient(Substitute.For<IGitHubClient>()); await AssertEx.Throws<ArgumentNullException>(async () => await releasesClient.GetAll(null, "name")); await AssertEx.Throws<ArgumentNullException>(async () => await releasesClient.GetAll("owner", null)); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAll("fake", "repo"); gitHubClient.Connection.Received(1).Get<List<Release>>( new Uri("repos/fake/repo/releases", UriKind.Relative), Args.EmptyDictionary, null); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAll("fake", "repo"); gitHubClient.Connection.GetAsync<IReadOnlyList<Release>>( new Uri("repos/fake/repo/releases", UriKind.Relative), null, null); }
public void RequestsTheCorrectUrlWithRepositoryIdWithApiOptions() { var gitHubClient = Substitute.For<IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); var options = new ApiOptions { PageCount = 1, PageSize = 1, StartPage = 1 }; client.GetAll(1, options); gitHubClient.Connection.Received(1).Get<List<Release>>( new Uri("repositories/1/releases", UriKind.Relative), Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null); }