public void CallsIntoClient() { var githubClient = Substitute.For<IGitHubClient>(); var deployKeysClient = new ObservableRepositoryDeployKeysClient(githubClient); var data = new NewDeployKey { Key = "ABC123", Title = "user@repo" }; deployKeysClient.Create("user", "repo", data); githubClient.Repository.DeployKeys.Received(1).Create("user", "repo", data); }
public void EnsuresNonNullArguments() { var deployKeysClient = new ObservableRepositoryDeployKeysClient(Substitute.For<IGitHubClient>()); Assert.Throws<ArgumentNullException>(() => deployKeysClient.Create(null, "repo", new NewDeployKey())); Assert.Throws<ArgumentNullException>(() => deployKeysClient.Create("user", null, new NewDeployKey())); Assert.Throws<ArgumentNullException>(() => deployKeysClient.Create("user", "repo", null)); Assert.Throws<ArgumentNullException>(() => deployKeysClient.Create(1, null)); Assert.Throws<ArgumentException>(() => deployKeysClient.Create("", "repo", new NewDeployKey())); Assert.Throws<ArgumentException>(() => deployKeysClient.Create("user", "", new NewDeployKey())); Assert.Throws<ArgumentException>(() => deployKeysClient.Create("user", "repo", new NewDeployKey())); Assert.Throws<ArgumentException>(() => deployKeysClient.Create("user", "repo", new NewDeployKey { Key = "ABC123" })); Assert.Throws<ArgumentException>(() => deployKeysClient.Create("user", "repo", new NewDeployKey { Title = "user@repo" })); }
public void CreatesCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For<IGitHubClient>(); var deployKeysClient = new ObservableRepositoryDeployKeysClient(gitHubClient); var data = new NewDeployKey { Key = "ABC123", Title = "user@repo" }; deployKeysClient.Create(1, data); gitHubClient.Repository.DeployKeys.Received(1).Create(1, data); }