From a59d22534973a03859079f9aa074e71cc2db778b Mon Sep 17 00:00:00 2001 From: kjgarza Date: Thu, 14 May 2020 13:15:04 +0200 Subject: [PATCH] test: check clientprefix are there and correct creation order --- spec/models/client_spec.rb | 13 +++++++++---- spec/requests/clients_spec.rb | 10 +++++----- spec/requests/repositories_spec.rb | 5 ++++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/spec/models/client_spec.rb b/spec/models/client_spec.rb index 69bc481fb..317f0f9fa 100644 --- a/spec/models/client_spec.rb +++ b/spec/models/client_spec.rb @@ -27,9 +27,11 @@ let!(:prefixes) { create_list(:prefix, 3) } let!(:prefix) { prefixes.first } - let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix) } + ### Order is important in creating prefixes relations let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } let!(:provider_prefix_more) { create(:provider_prefix, provider: provider, prefix: prefixes.last) } + let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix, provider_prefix_id: provider_prefix.uid) } + let(:new_provider) { create(:provider, symbol: "QUECHUA", member_type: "direct_member") } let(:options) { { target_id: new_provider.symbol } } let(:bad_options) { { target_id: "SALS" } } @@ -44,6 +46,8 @@ expect(new_provider.prefix_ids).to include(prefix.uid) expect(provider.prefix_ids).not_to include(prefix.uid) + + expect(client.prefix_ids).to include(prefix.uid) end it "it doesn't transfer" do @@ -101,9 +105,10 @@ describe "Client prefixes transfer" do let!(:prefixes) { create_list(:prefix, 3) } let!(:prefix) { prefixes.first } - let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix) } - let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } + ### Order is important in creating prefixes relations + let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } let!(:provider_prefix_more) { create(:provider_prefix, provider: provider, prefix: prefixes.last) } + let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix , provider_prefix_id: provider_prefix.uid) } let(:new_provider) { create(:provider, symbol: "QUECHUA") } it "works" do @@ -114,10 +119,10 @@ expect(new_provider.prefix_ids).to include(prefix.uid) expect(provider.prefix_ids).not_to include(prefix.uid) + expect(client.prefix_ids).to include(prefix.uid) end end - describe "methods" do it "should not update the symbol" do client.update_attributes :symbol => client.symbol+'foo.bar' diff --git a/spec/requests/clients_spec.rb b/spec/requests/clients_spec.rb index 154d40961..68534787a 100644 --- a/spec/requests/clients_spec.rb +++ b/spec/requests/clients_spec.rb @@ -222,12 +222,10 @@ let(:new_provider) { create(:provider, symbol: "QUECHUA", password_input: "12345") } let!(:prefixes) { create_list(:prefix, 3) } let!(:prefix) { prefixes.first } - let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix) } - let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } let!(:provider_prefix_more) { create(:provider_prefix, provider: provider, prefix: prefixes.last) } + let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } + let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix, provider_prefix_id: provider_prefix.uid) } let(:doi) { create_list(:doi, 10, client: client) } - - let(:params) do { "data" => { @@ -254,8 +252,10 @@ expect(json.dig("data", "relationships", "prefixes", "data").first.dig("id")).to eq(prefixes.last.uid) get "/providers/#{new_provider.symbol}" - expect(json.dig("data", "relationships", "prefixes", "data").first.dig("id")).to eq(prefix.uid) + + get "/prefixes/#{prefix.uid}" + expect(json.dig("data", "relationships", "clients", "data").first.dig("id")).to eq(client.symbol.downcase) end end diff --git a/spec/requests/repositories_spec.rb b/spec/requests/repositories_spec.rb index 07ef6031a..28f910875 100644 --- a/spec/requests/repositories_spec.rb +++ b/spec/requests/repositories_spec.rb @@ -287,8 +287,8 @@ let(:new_provider) { create(:provider, symbol: "QUECHUA", password_input: "12345") } let!(:prefix) { create(:prefix) } - let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix) } let!(:provider_prefix) { create(:provider_prefix, provider: provider, prefix: prefix) } + let!(:client_prefix) { create(:client_prefix, client: client, prefix: prefix, provider_prefix_id: provider_prefix.uid) } let(:doi) { create_list(:doi, 10, client: client) } let(:params) do @@ -318,6 +318,9 @@ get "/providers/#{new_provider.symbol}" expect(json.dig("data", "relationships", "prefixes", "data").first.dig("id")).to eq(prefix.uid) + + get "/prefixes/#{prefix.uid}" + expect(json.dig("data", "relationships", "clients", "data").first.dig("id")).to eq(client.symbol.downcase) end end