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

Version Path
blacklight-spotlight-0.4.1 spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb
blacklight-spotlight-0.3.1 spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb
blacklight-spotlight-0.3.0 spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb