v3: properly hand on options to nested render calls
This commit is contained in:
parent
40563b0864
commit
49ad3bccda
|
@ -42,8 +42,8 @@ module Travis::API::V3
|
|||
|
||||
def render_value(value, **options)
|
||||
case value
|
||||
when Hash then value.map { |k, v| [k, render_value(v)] }.to_h
|
||||
when Array then value.map { |v | render_value(v) }
|
||||
when Hash then value.map { |k, v| [k, render_value(v, **options)] }.to_h
|
||||
when Array then value.map { |v | render_value(v, **options) }
|
||||
when *PRIMITIVE then value
|
||||
when Time then value.strftime('%Y-%m-%dT%H:%M:%SZ')
|
||||
when Model then render_model(value, **options)
|
||||
|
|
|
@ -29,18 +29,33 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-org?include=organization.repositories,user.repositories") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/repo/#{repo.id}",
|
||||
"id" => repo.id,
|
||||
"slug" => "example-org/example-repo"
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"id" => repo.id,
|
||||
"name" => "example-repo",
|
||||
"slug" => "example-org/example-repo",
|
||||
"description" => nil,
|
||||
"github_language" => nil,
|
||||
"active" => false,
|
||||
"private" => false,
|
||||
"last_build" => nil,
|
||||
"owner" => {
|
||||
"@type" => "organization",
|
||||
"id" => org.id,
|
||||
"login" => "example-org"},
|
||||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
@ -54,18 +69,33 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-org?include=owner.repositories") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/repo/#{repo.id}",
|
||||
"id" => repo.id,
|
||||
"slug" => "example-org/example-repo"
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"id" => repo.id,
|
||||
"name" => "example-repo",
|
||||
"slug" => "example-org/example-repo",
|
||||
"description" => nil,
|
||||
"github_language" => nil,
|
||||
"active" => false,
|
||||
"private" => false,
|
||||
"last_build" => nil,
|
||||
"owner" => {
|
||||
"@type" => "organization",
|
||||
"id" => org.id,
|
||||
"login" => "example-org"},
|
||||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user