Sha256: 9a79912356021a19e7a569bae92d50d6b64edc266d1b6c3924f50acf30c2ce43

Contents?: true

Size: 1.76 KB

Versions: 3

Compression:

Stored size: 1.76 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)
    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

3 entries across 3 versions & 1 rubygems

Version Path
blacklight-spotlight-0.3.1 spec/views/spotlight/pages/edit.html.erb_spec.rb
blacklight-spotlight-0.3.0 spec/views/spotlight/pages/edit.html.erb_spec.rb
blacklight-spotlight-0.2.0 spec/views/spotlight/pages/edit.html.erb_spec.rb