public void RequestsCorrectUrlParameterizedWithRepositoryId() { var endpoint = new Uri("repositories/1/notifications", UriKind.Relative); var connection = Substitute.For<IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableNotificationsClient(gitHubClient); var markAsReadRequest = new MarkAsReadRequest(); client.MarkAsReadForRepository(1, markAsReadRequest); connection.Received().Put<object>(endpoint, markAsReadRequest); }
public async Task EnsuresNonNullArguments() { var client = new ObservableNotificationsClient(Substitute.For<IGitHubClient>()); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository(null, "name")); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository("owner", null)); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository(null, "name", new MarkAsReadRequest())); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository("owner", null, new MarkAsReadRequest())); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository("owner", "name", null)); Assert.Throws<ArgumentNullException>(() => client.MarkAsReadForRepository(1, null)); Assert.Throws<ArgumentException>(() => client.MarkAsReadForRepository("", "name")); Assert.Throws<ArgumentException>(() => client.MarkAsReadForRepository("owner", "")); Assert.Throws<ArgumentException>(() => client.MarkAsReadForRepository("", "name", new MarkAsReadRequest())); Assert.Throws<ArgumentException>(() => client.MarkAsReadForRepository("owner", "", new MarkAsReadRequest())); }
public void RequestsCorrectUrl() { var endpoint = new Uri("repos/banana/split/notifications", UriKind.Relative); var connection = Substitute.For<IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableNotificationsClient(gitHubClient); client.MarkAsReadForRepository("banana", "split"); connection.Received().Put(endpoint); }