Как создать тест rspec, который проверяет ответ JSON?

У меня есть контроллер групп с методом def inbox.

Если пользователь является членом группы, то почтовый ящик возвращает JSON объект.

Если пользователь не является участником, почтовый ящик должен перенаправляться благодаря разрешениям CanCan.

Как мне написать rspec для проверки этих двух вариантов использования?

Текущая спецификация:

require 'spec_helper'

describe GroupsController do
  include Devise::TestHelpers

  before (:each) do
    @user1 = Factory.create(:user)
    @user1.confirm!
    sign_in @user1
    @group = Factory(:group)
    @permission_user_1 = Factory.create(:permission, :user => @user1, :creator_id => @user1.id, :group => @group)
  end

  describe "GET inbox" do
    it "should be successful" do
      get inbox_group_path(@group.id), :format => :json
      response.should be_success
    end
  end
end

Маршруты:

inbox_group GET /groups/:id/inbox(.:format) {:controller=>"groups", :action=>"inbox"}

Файл маршрутов:

resources :groups do
  member do
    get 'vcard', 'inbox'
  end
  ....
end
15
задан Sebastian Palma 16 June 2017 в 20:35
поделиться