Sha256: 50764da50a97843eca1e3296c9b83ad53bfa72d087085dd700c0b00e31117f11
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
require 'spec_helper' describe 'spotlight/dashboards/_analytics.html.erb', type: :view do let(:current_exhibit) { FactoryGirl.create(:exhibit) } let(:ga_data) { OpenStruct.new(pageviews: 1, users: 2, sessions: 3)} let(:page_data) { [ OpenStruct.new(pageTitle: "title", pagePath: "/path", pageviews: '123') ]} before do allow(view).to receive_messages(current_exhibit: current_exhibit, exhibit_root_path: "/some/path") allow(Spotlight::Analytics::Ga).to receive(:enabled?).and_return(true) allow(current_exhibit).to receive(:analytics).and_return(ga_data) allow(current_exhibit).to receive(:page_analytics).and_return(page_data) end it "should use the exhibit_root_path for analytics" do expect(current_exhibit).to receive(:analytics).with(1.month, "/some/path").and_return(ga_data) expect(current_exhibit).to receive(:page_analytics).with(1.month, "/some/path").and_return(page_data) render end it "should have header" do render expect(rendered).to have_content "User Activity Over the Past Month" end it "should have metric labels" do render expect(rendered).to have_content "visitors" expect(rendered).to have_content "unique visits" expect(rendered).to have_content "page views" end it "should have metric values" do render expect(rendered).to have_selector ".value.pageviews", text: 1 expect(rendered).to have_selector ".value.users", text: 2 expect(rendered).to have_selector ".value.sessions", text: 3 end it "should have page-level data" do render expect(rendered).to have_content "Most popular pages" expect(rendered).to have_link "title", href: "/path" expect(rendered).to have_content "123" end end
Version data entries
3 entries across 3 versions & 1 rubygems