Sha256: 3b3d932ac7e1c846128747de36509b3176f985c65e6b5c0f44eb6534fe98492d

Contents?: true

Size: 1.43 KB

Versions: 4

Compression:

Stored size: 1.43 KB

Contents

describe 'curation_concerns/base/_form_relationships.html.erb', type: :view do
  let(:ability) { double }
  let(:work) { GenericWork.new }
  let(:form) do
    CurationConcerns::GenericWorkForm.new(work, ability)
  end
  let(:service) { instance_double CurationConcerns::AdminSetService, select_options: [] }

  before do
    allow(view).to receive(:available_collections).and_return([])
    allow(view).to receive(:action_name).and_return('new')
    allow(CurationConcerns::AdminSetService).to receive(:new).with(controller).and_return(service)
  end

  let(:form_template) do
    %(
      <%= simple_form_for [main_app, @form] do |f| %>
        <%= render "curation_concerns/base/form_relationships", f: f %>
      <% end %>
    )
  end

  let(:page) do
    assign(:form, form)
    render inline: form_template
    Capybara::Node::Simple.new(rendered)
  end

  context 'with assign_admin_set turned on' do
    before do
      allow(Flipflop).to receive(:assign_admin_set?).and_return(true)
    end

    it "draws the page" do
      expect(page).to have_content('Add as member of administrative set')
      expect(page).to have_selector('select#generic_work_admin_set_id')
    end
  end

  context 'with assign_admin_set disabled' do
    before do
      allow(Flipflop).to receive(:assign_admin_set?).and_return(false)
    end
    it 'draws the page, but not the admin set widget' do
      expect(page).not_to have_content('administrative set')
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sufia-7.3.0.rc3 spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb
sufia-7.3.0.rc2 spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb
sufia-7.3.0.rc1 spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb
sufia-7.2.0 spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb