Подтвердить что ты не робот

Тестирование ActiveAdmin с помощью rspec

Я пытаюсь начать тестирование ActiveAdmin, в частности мне нужно протестировать member_action с одного из контроллеров ActiveAdmin.

Ребята, знаете ли вы хорошие учебники по этой теме?

Спасибо,

4b9b3361

Ответ 1

Так я сделал это, что сработало для меня: -

приложение/администратор/posts.rb

ActiveAdmin.register Post do

  menu :parent => "Admin"


  #path = /admin/posts/:id/comments
  member_action :comments do
   @post = Post.find(params[:id])
  end 
end

спецификации/контроллеры/администратор/posts_controller_spec.rb

require 'spec_helper'
include Devise::TestHelpers


describe Admin::PostsController do
  render_views

  before(:each) do
    @user = mock_model(User, :email => "[email protected]")
    request.env['tester'] = mock(Tester, :authenticate => @user, :authenticate! => @user)
  end

  describe "Get comments" do
    before(:each) do
      @post = Post.create! valid_attributes
      Post.should_receive(:find).at_least(:once).and_return(@post)
      get :comments, :id => @post.id
    end

    after(:each) do
      @post.destroy
    end

    it "gets the proper record to update" do
      assigns(:post).should eq(@post)
    end

    it "should render the actual template" do
      response.should contain("Comments")
      response.body.should =~ /Comments/m
    end
  end
end

Ответ 2

# app/admin/post.rb
ActiveAdmin.register Post do
end

# spec/controller/admin/posts_controller_spec.rb
describe Admin::PostsController do
  subject { get :index }
  its(:status) { should eq 200 }
end