2013-08-14 14 views
7

Jak można napisać kontrolera i funkcji spec następującego kodu ActiveAdmin:Zapis kontrolera i specyfikacje funkcji dla ActiveAdmin przy użyciu RSpec?

# app/admin/organization.rb 
ActiveAdmin.register Organization do 
    batch_action :approve do |selection| 
    Organization.find(selection).each {|organization| organization.approve } 
    redirect_to collection_path, notice: 'Organizations approved.' 
    end 
end 

Oto moja funkcja spec. Nie można znaleźć "akcji wsadowych" ładowanych przez ActiveAdmin w wyskakującym menu.

# spec/features/admin/organization_feature_spec.rb 
require 'spec_helper' 
include Devise::TestHelpers 

describe 'Admin Organization' do 
    before(:each) do 
    @user = FactoryGirl.create(:admin_user) 
    login('[email protected]', 'password1') 
    end 

    it 'approves in batch' do 
    organization = FactoryGirl.create(:organization) 
    visit admin_organizations_path 
    check 'collection_selection_toggle_all' 
    click_link 'Batch Actions' 
    click_link 'Approve Selected' 
    organization.reload 
    organization.state.should eq 'approved' 
    end 
end 

Wersje

  • Rails 3.2.14
  • ActiveAdmin 0.6.0

Odpowiedz

9

I zorientowali się, jak skonstruować specyfikację kontrolera.

# spec/controllers/admin/organizations_controller_spec.rb 
require 'spec_helper' 
include Devise::TestHelpers 

describe Admin::OrganizationsController do 
    render_views 

    before(:each) do 
    @user = FactoryGirl.create(:admin_user) 
    sign_in @user 
    end 

    it 'approve organization' do 
    @organization = FactoryGirl.create(:organization, state: 'pending') 
    post :batch_action, batch_action: 'approve', collection_selection_toggle_all: 'on', collection_selection: [@organization.id] 
    @organization.reload 
    @organization.pending?.should be_false 
    end 
end 

Jeśli ktoś wie, jak napisać specyfikację funkcji, udostępnij te informacje.

Powiązane problemy