61 lines
2.4 KiB
Ruby
61 lines
2.4 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Travis::API::V3::Services::Requests::Find do
|
|
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
|
let(:request) { repo.requests.first }
|
|
|
|
describe "fetching requests on a public repository" do
|
|
before { get("/v3/repo/#{repo.id}/requests") }
|
|
example { expect(last_response).to be_ok }
|
|
example { expect(JSON.load(body).to_s).to include(
|
|
"@type",
|
|
"requests",
|
|
"/v3/repo/#{repo.id}/requests",
|
|
"repository",
|
|
"commit",
|
|
"message",
|
|
"the commit message",
|
|
"branch_name",
|
|
"representation",
|
|
"@pagination",
|
|
"owner",
|
|
"created_at",
|
|
"result",
|
|
"sha",
|
|
"svenfuchs/minimal",
|
|
"event_type",
|
|
"push")
|
|
}
|
|
end
|
|
|
|
describe "fetching requests on private repository, private API, authenticated as user with access" do
|
|
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
|
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
|
before { repo.update_attribute(:private, true) }
|
|
before { get("/v3/repo/#{repo.id}/requests", {}, headers) }
|
|
after { repo.update_attribute(:private, false) }
|
|
example { expect(last_response).to be_ok }
|
|
example { expect(JSON.load(body).to_s).to include(
|
|
"@type",
|
|
"requests",
|
|
"/v3/repo/#{repo.id}/requests",
|
|
"repository",
|
|
"commit",
|
|
"message",
|
|
"the commit message",
|
|
"branch_name",
|
|
"representation",
|
|
"@pagination",
|
|
"owner",
|
|
"created_at",
|
|
"result",
|
|
"sha",
|
|
"svenfuchs/minimal",
|
|
"event_type",
|
|
"push")
|
|
}
|
|
|
|
end
|
|
end
|