Sha256: edb909d127b40574c3ba63b0163e90b2c4f21562ca9f3134d5503763cb8cfd93

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'

describe AssetHostCore::Api::OutputsController do
  before do
    @api_user = create :api_user
  end

  describe 'GET index' do
    before do
      @api_user.permissions.create(
        :resource => "AssetHostCore::Output",
        :ability  => "read"
      )
    end

    it 'returns all outputs' do
      output = create :output, code: "thumb"
      get :index, api_request_params
      assigns(:outputs).should eq [output]
      response.body.should match /thumb/
    end

    it 'returns 403 forbidden if user does not have output read permission' do
      @api_user.permissions.clear
      get :index, api_request_params
      response.status.should eq 403
    end
  end

  describe 'GET show' do
    before do
      @api_user.permissions.create(
        :resource => "AssetHostCore::Output",
        :ability  => "read"
      )
    end

    it 'returns the requested output' do
      output = create :output, code: "large"
      get :show, api_request_params(id: output.code)
      assigns(:output).should eq output
      response.body.should match /large/
    end

    it 'returns 403 forbidden if user does not have output read permission' do
      @api_user.permissions.clear
      get :show, api_request_params(id: "lol")
      response.status.should eq 403
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
asset_host_core-2.0.0.beta spec/controllers/api/outputs_controller_spec.rb