diff --git a/app/views/spree/admin/trackers/index.html.erb b/app/views/spree/admin/trackers/index.html.erb
index 90eb95c..b5c6655 100644
--- a/app/views/spree/admin/trackers/index.html.erb
+++ b/app/views/spree/admin/trackers/index.html.erb
@@ -7,7 +7,7 @@
<% content_for :page_actions do %>
<% if can?(:create, Spree::Tracker) %>
<% end %>
<% end %>
@@ -36,9 +36,9 @@
<% @trackers.each do |tracker|%>
'>
<%= tracker.analytics_id %> |
- <%= tracker.tracker_type.capitalize %> |
+ <%= tracker.tracker_type.try(:capitalize) %> |
<%= tracker.active ? Spree.t(:say_yes) : Spree.t(:say_no) %> |
- <%= tracker.store.name %> |
+ <%= tracker.store.try(:name) %> |
<% if can?(:update, tracker) %>
<%= link_to_edit tracker, :no_text => true %>
diff --git a/lib/solidus_trackers/factories.rb b/lib/solidus_trackers/factories.rb
index 68580b6..511d71a 100644
--- a/lib/solidus_trackers/factories.rb
+++ b/lib/solidus_trackers/factories.rb
@@ -2,5 +2,6 @@
factory :tracker, class: Spree::Tracker do
analytics_id 'A100'
active true
+ tracker_type 'analytics'
end
end
diff --git a/spec/features/admin/configuration/analytics_tracker_spec.rb b/spec/features/admin/configuration/analytics_tracker_spec.rb
index 3a1acae..51f374a 100644
--- a/spec/features/admin/configuration/analytics_tracker_spec.rb
+++ b/spec/features/admin/configuration/analytics_tracker_spec.rb
@@ -19,12 +19,14 @@
it "should have the right tabular values displayed" do
within_row(1) do
expect(column_text(1)).to eq("A100")
- expect(column_text(2)).to eq("Yes")
+ expect(column_text(2)).to eq("Analytics")
+ expect(column_text(3)).to eq("Yes")
end
within_row(2) do
expect(column_text(1)).to eq("A100")
- expect(column_text(2)).to eq("Yes")
+ expect(column_text(2)).to eq("Analytics")
+ expect(column_text(3)).to eq("Yes")
end
end
end
@@ -39,14 +41,15 @@
it "should be able to create a new analytics tracker" do
click_link "admin_new_tracker_link"
fill_in "tracker_analytics_id", with: "A100"
- option = first("#tracker_store_id option").text
- select option, from: "tracker_store_id"
+ select all("#tracker_tracker_type option")[1].text, from: "tracker_tracker_type"
+ select all("#tracker_store_id option")[1].text, from: "tracker_store_id"
click_button "Create"
expect(page).to have_content("successfully created!")
within_row(1) do
expect(column_text(1)).to eq("A100")
- expect(column_text(2)).to eq("Yes")
+ expect(column_text(2)).to eq("Analytics")
+ expect(column_text(3)).to eq("Yes")
end
end
end
@@ -56,7 +59,7 @@
create(:tracker, store: store)
visit spree.root_path
- expect(page).to have_css('#solidus_trackers', visible: false)
+ expect(page).to have_css('#solidus_trackers_analytics', visible: false)
end
end
end
diff --git a/spec/models/spree/tracker_spec.rb b/spec/models/spree/tracker_spec.rb
index 08445c6..71406e6 100644
--- a/spec/models/spree/tracker_spec.rb
+++ b/spec/models/spree/tracker_spec.rb
@@ -1,7 +1,7 @@
require 'spec_helper'
RSpec.describe Spree::Tracker, type: :model do
- let(:store) { create(:store) }
+ let!(:store) { create(:store) }
let!(:tracker) { create(:tracker, store: store) }
let(:other_store) { create(:store, code: 'STORE2', url: 'realfakedoors.com') }
let!(:other_tracker) { create(:tracker, store: other_store) }
@@ -12,29 +12,29 @@
end
it "returns the first active tracker" do
- expect(Spree::Tracker.current(store)).to eq(tracker)
+ expect(Spree::Tracker.current(store)).to eq([tracker])
end
it "does not return an inactive tracker" do
tracker.update_attribute(:active, false)
- expect(Spree::Tracker.current(store)).to be_nil
+ expect(Spree::Tracker.current(store)).to eq([])
end
it "finds tracker by store" do
- expect(Spree::Tracker.current(store)).to eq tracker
+ expect(Spree::Tracker.current(store)).to eq([tracker])
end
it "finds tracker based on store code" do
aggregate_failures do
expect(ActiveSupport::Deprecation).to receive(:warn)
- expect(Spree::Tracker.current('STORE2')).to eq other_tracker
+ expect(Spree::Tracker.current('STORE2')).to eq([other_tracker])
end
end
it "finds tracker based on store url" do
aggregate_failures do
expect(ActiveSupport::Deprecation).to receive(:warn)
- expect(Spree::Tracker.current(store.url)).to eq tracker
+ expect(Spree::Tracker.current(store.url)).to eq([tracker])
end
end
end
|