public void EnsuresArgumentsNotNull()
        {
            var gitHubClient = Substitute.For <IGitHubClient>();
            var client       = new ObservableIssuesClient(gitHubClient);

            Assert.Throws <ArgumentNullException>(() => client.Unlock(null, "name", 42));
            Assert.Throws <ArgumentException>(() => client.Unlock("", "name", 42));
            Assert.Throws <ArgumentNullException>(() => client.Unlock("owner", null, 42));
            Assert.Throws <ArgumentException>(() => client.Unlock("owner", "", 42));
        }
        public void UnlocksIssue()
        {
            var gitHubClient = Substitute.For <IGitHubClient>();
            var client       = new ObservableIssuesClient(gitHubClient);

            client.Unlock("fake", "repo", 42);
            gitHubClient.Issue.Received().Unlock("fake", "repo", 42);
        }
        public void UnlocksIssueWithRepositoryId()
        {
            var gitHubClient = Substitute.For <IGitHubClient>();
            var client       = new ObservableIssuesClient(gitHubClient);

            client.Unlock(1, 42);

            gitHubClient.Issue.Received().Unlock(1, 42);
        }
예제 #4
0
    public async Task CanLockAndUnlockIssues()
    {
        var newIssue = new NewIssue("Integration Test Issue");

        var createResult = await _client.Create(_context.RepositoryOwner, _context.RepositoryName, newIssue);

        Assert.False(createResult.Locked);

        await _client.Lock(_context.RepositoryOwner, _context.RepositoryName, createResult.Number);

        var lockResult = await _client.Get(_context.RepositoryOwner, _context.RepositoryName, createResult.Number);

        Assert.True(lockResult.Locked);

        await _client.Unlock(_context.RepositoryOwner, _context.RepositoryName, createResult.Number);

        var unlockIssueResult = await _client.Get(_context.RepositoryOwner, _context.RepositoryName, createResult.Number);

        Assert.False(unlockIssueResult.Locked);
    }