Sha256: 405a3a2f2152e96e54271bc756802315b57ed7f2ca53111a3a04b90e12b688df

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 KB

Contents

require 'spec_helper'

module Spotlight
  describe "spotlight/pages/edit", :type => :view do
    let(:exhibit) { stub_model(Exhibit) } 
    let(:page) { stub_model(FeaturePage, exhibit: exhibit) }
    before do
      assign(:page, page)
      allow(view).to receive_messages(default_thumbnail_jcrop_options: {}, available_index_fields: [], available_view_fields: [])
    end

    it "renders the edit page form" do
      render

      # Run the generator again with the --webrat flag if you want to use webrat matchers
      assert_select "form[action=?][method=?]", spotlight.exhibit_feature_page_path(page.exhibit, page), "post" do
        assert_select "input#feature_page_title[name=?]", "feature_page[title]"
        assert_select "textarea#feature_page_content[name=?]", "feature_page[content]"
      end
    end

    describe "locks" do
      let(:lock) { Lock.create! on: page }

      before do
        page.lock = lock
      end

      it "renders a lock" do
        render

        expect(rendered).to have_css '.alert-lock'
      end

      it "should not render an old lock" do
        lock.created_at -= 1.day

        render

        expect(rendered).not_to have_css '.alert-lock'
      end

      it "should not render a lock held by the current session" do
        lock.current_session!

        render

        expect(rendered).not_to have_css '.alert-lock'
      end

      it "should attach a data-lock attribute to the cancel button" do
        lock.current_session!

        render

        expect(rendered).to have_link "Cancel"
        expect(rendered).to have_css "a[data-lock=\"#{url_for([spotlight, page.exhibit, lock])}\"]", text: "Cancel"
      end

      it "should not have data-lock attribute if the lock doesn't belong to this session" do
        render

        expect(rendered).to have_link "Cancel"
        expect(rendered).not_to have_css "a[data-lock]", text: "Cancel"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blacklight-spotlight-0.4.1 spec/views/spotlight/pages/edit.html.erb_spec.rb