public async Task EnsuresNonNullArguments() { var client = new ObservableProjectsClient(Substitute.For <IGitHubClient>()); var newProject = new NewProject("someName"); await Assert.ThrowsAsync <ArgumentNullException>(() => client.CreateForRepository(1, null).ToTask()); }
public async Task EnsureNonNullOrEmptyArguments() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("").ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", (ApiOptions)null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, new ProjectRequest(ItemStateFilter.All)).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", new ProjectRequest(ItemStateFilter.All)).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", (ProjectRequest)null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, new ProjectRequest(ItemStateFilter.All), ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", new ProjectRequest(ItemStateFilter.All), ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", new ProjectRequest(ItemStateFilter.All), null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", null, ApiOptions.None).ToTask()); }
public void DeletesCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); client.Delete(1); gitHubClient.Repository.Project.Received().Delete(1); }
public async Task EnsuresNonNullArguments() { var client = new ObservableProjectsClient(Substitute.For <IGitHubClient>()); var updateProject = new ProjectUpdate { Name = "someNewName" }; await Assert.ThrowsAsync <ArgumentNullException>(() => client.Update(1, null).ToTask()); }
public void RequestCorrectURL() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); client.Get(1); gitHubClient.Repository.Project.Received().Get(1); }
public void PostsToCorrectURL() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); var newProject = new NewProject("someName"); client.CreateForOrganization("org", newProject); gitHubClient.Repository.Project.Received().CreateForOrganization("org", newProject); }
public async Task EnsureNonNullOrEmptyArguments() { var client = new ObservableProjectsClient(Substitute.For <IGitHubClient>()); var newProject = new NewProject("someName"); await Assert.ThrowsAsync <ArgumentNullException>(() => client.CreateForOrganization(null, newProject).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.CreateForOrganization("", newProject).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.CreateForOrganization("org", null).ToTask()); }
public void PostsToCorrectURL() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); var updateProject = new ProjectUpdate { Name = "someNewName" }; client.Update(1, updateProject); gitHubClient.Repository.Project.Received().Update(1, updateProject); }
public void RequestCorrectUrlWithRequestParameterWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableProjectsClient(gitHubClient); client.GetAllForRepository(1, new ProjectRequest(ItemStateFilter.All)); connection.Received().Get <List <Project> >( Arg.Is <Uri>(u => u.ToString() == "repositories/1/projects"), Arg.Is <Dictionary <string, string> >(d => d.ContainsKey("state")), "application/vnd.github.inertia-preview+json"); }
public void RequestCorrectUrlWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableProjectsClient(gitHubClient); client.GetAllForRepository(1); connection.Received().Get <List <Project> >( Arg.Is <Uri>(u => u.ToString() == "repositories/1/projects"), Args.EmptyDictionary, "application/vnd.github.inertia-preview+json"); }
public async Task EnsureNonNullArgumentsWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableProjectsClient(gitHubClient); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, (ApiOptions)null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, (ProjectRequest)null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, new ProjectRequest(ItemStateFilter.All), null).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, null, ApiOptions.None).ToTask()); }