Sha256: a2365bd49f8fd3d1e48276b918b6a1918460e677e3adc9485b517d294a92536c

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

module Alchemy
  describe Admin::ClipboardController do

    let(:page)            { FactoryGirl.create(:public_page) }
    let(:element)         { FactoryGirl.create(:element, :page => page) }
    let(:another_element) { FactoryGirl.create(:element, :page => page) }

    before(:each) do
      activate_authlogic
      UserSession.create(FactoryGirl.create(:admin_user))
      session[:clipboard] = Clipboard.new
    end

    describe "#insert" do

      it "should hold element ids" do
        post(:insert, {:remarkable_type => :elements, :remarkable_id => element.id, :format => :js})
        session[:clipboard][:elements].should == [{:id => element.id, :action => 'copy'}]
      end

      it "should not have the same element twice" do
        session[:clipboard][:elements] = {:id => element.id, :action => 'copy'}
        post(:insert, {:remarkable_type => :elements, :remarkable_id => element.id, :format => :js})
        session[:clipboard][:elements].collect { |e| e[:id] }.should_not == [element.id, element.id]
      end

    end

    describe "#delete" do
      it "should remove element ids from clipboard" do
        session[:clipboard][:elements] = {:id => element.id, :action => 'copy'}
        session[:clipboard][:elements] << {:id => another_element.id, :action => 'copy'}
        delete(:remove, {:remarkable_type => :elements, :remarkable_id => another_element.id, :format => :js})
        session[:clipboard][:elements].should == [{:id => element.id, :action => 'copy'}]
      end
    end

    describe "#clear" do
      it "should be clearable" do
        session[:clipboard][:elements] = {:id => element.id}
        delete(:clear, :format => :js)
        session[:clipboard].should be_empty
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alchemy_cms-2.2.rc13 spec/controllers/admin/clipboard_controller_spec.rb