From ae31a57541bc9722909c1c6c33bf2844de8c9868 Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Tue, 28 Apr 2015 18:14:36 +0200 Subject: [PATCH] v3: add @href to denormalized repository.owner --- lib/travis/api/v3/renderer/repository.rb | 2 ++ spec/v3/services/owner/find_spec.rb | 2 ++ spec/v3/services/owner/repositories_spec.rb | 1 + spec/v3/services/repositories/for_current_user_spec.rb | 1 + spec/v3/services/repository/find_spec.rb | 4 ++++ 5 files changed, 10 insertions(+) diff --git a/lib/travis/api/v3/renderer/repository.rb b/lib/travis/api/v3/renderer/repository.rb index d483183d..858fe1a4 100644 --- a/lib/travis/api/v3/renderer/repository.rb +++ b/lib/travis/api/v3/renderer/repository.rb @@ -11,8 +11,10 @@ module Travis::API::V3 def owner return model.owner if include? 'repository.owner'.freeze + owner_href = Renderer.href(model.owner_type.downcase.to_sym, id: model.owner_id, script_name: script_name) { :@type => model.owner_type && model.owner_type.downcase, + :@href => owner_href, :id => model.owner_id, :login => model.owner_name } diff --git a/spec/v3/services/owner/find_spec.rb b/spec/v3/services/owner/find_spec.rb index 0a95bd10..8bf83fc7 100644 --- a/spec/v3/services/owner/find_spec.rb +++ b/spec/v3/services/owner/find_spec.rb @@ -49,6 +49,7 @@ describe Travis::API::V3::Services::Owner::Find do "last_build" => nil, "owner" => { "@type" => "organization", + "@href" => "/v3/org/#{org.id}", "id" => org.id, "login" => "example-org"}, "default_branch" => { @@ -89,6 +90,7 @@ describe Travis::API::V3::Services::Owner::Find do "last_build" => nil, "owner" => { "@type" => "organization", + "@href" => "/v3/org/#{org.id}", "id" => org.id, "login" => "example-org"}, "default_branch" => { diff --git a/spec/v3/services/owner/repositories_spec.rb b/spec/v3/services/owner/repositories_spec.rb index 8f686ebb..9f47fecb 100644 --- a/spec/v3/services/owner/repositories_spec.rb +++ b/spec/v3/services/owner/repositories_spec.rb @@ -27,6 +27,7 @@ describe Travis::API::V3::Services::Owner::Repositories do "private" => true, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => { diff --git a/spec/v3/services/repositories/for_current_user_spec.rb b/spec/v3/services/repositories/for_current_user_spec.rb index 042cdae3..67068f69 100644 --- a/spec/v3/services/repositories/for_current_user_spec.rb +++ b/spec/v3/services/repositories/for_current_user_spec.rb @@ -27,6 +27,7 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do "private" => true, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => { diff --git a/spec/v3/services/repository/find_spec.rb b/spec/v3/services/repository/find_spec.rb index 034b00a9..b92df8d0 100644 --- a/spec/v3/services/repository/find_spec.rb +++ b/spec/v3/services/repository/find_spec.rb @@ -19,6 +19,7 @@ describe Travis::API::V3::Services::Repository::Find do "private" => false, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => { @@ -103,6 +104,7 @@ describe Travis::API::V3::Services::Repository::Find do "private" => true, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => { @@ -172,6 +174,7 @@ describe Travis::API::V3::Services::Repository::Find do "private" => true, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => { @@ -247,6 +250,7 @@ describe Travis::API::V3::Services::Repository::Find do "private" => true, "owner" => { "@type" => "user", + "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, "last_build" => {