コード例 #1
0
    public async Task CanListGists()
    {
        // Time is tricky between local and remote, be leinent
        var startTime = DateTimeOffset.Now.Subtract(TimeSpan.FromHours(1));
        var newGist   = new NewGist();

        newGist.Description = "my new gist";
        newGist.Public      = true;

        newGist.Files.Add("myGistTestFile.cs", "new GistsClient(connection).Create();");

        var createdGist = await _fixture.Create(newGist);

        // Test get all Gists
        var gists = await _fixture.GetAll();

        Assert.NotNull(gists);

        // Test get all Gists since startTime
        gists = await _fixture.GetAll(startTime);

        Assert.NotNull(gists);
        Assert.True(gists.Count > 0);

        // Make sure we can successfully request gists for another user
        Assert.DoesNotThrow(async() => { await _fixture.GetAllForUser("FakeHaacked"); });
        Assert.DoesNotThrow(async() => { await _fixture.GetAllForUser("FakeHaacked", startTime); });

        // Test public gists
        var publicGists = await _fixture.GetAllPublic();

        Assert.True(publicGists.Count > 1);

        var publicGistsSinceStartTime = await _fixture.GetAllPublic(startTime);

        Assert.True(publicGistsSinceStartTime.Count > 0);

        // Test starred gists
        await _fixture.Star(createdGist.Id);

        var starredGists = await _fixture.GetAllStarred();

        Assert.NotNull(starredGists);
        Assert.True(starredGists.Any(x => x.Id == createdGist.Id));

        var starredGistsSinceStartTime = await _fixture.GetAllStarred(startTime);

        Assert.NotNull(starredGistsSinceStartTime);
        Assert.True(starredGistsSinceStartTime.Any(x => x.Id == createdGist.Id));

        await _fixture.Delete(createdGist.Id);
    }