Sha256: 93fd6fde1f0766ffbc441b6e0c67e9ef6441326403d84e0bd70332610745c9a1
Contents?: true
Size: 1.13 KB
Versions: 8
Compression:
Stored size: 1.13 KB
Contents
describe TinymceAssetsController, type: :controller do let(:file) { fixture_file_upload('/world.png', 'image/png') } context "when logged in" do let(:user) { FactoryGirl.create(:user) } before { sign_in user } context "as a user who can upload" do before { expect(controller).to receive(:authorize!).with(:create, TinymceAsset).and_return(true) } it "uploads the file" do expect do post :create, params: { file: file } expect(response).to be_successful end.to change { TinymceAsset.count }.by(1) json = JSON.parse(response.body) expect(json).to eq("image" => { "url" => "/uploads/tinymce_asset/file/1/world.png" }) end end context "as a user who can't upload" do it "is unauthorized" do post :create, params: { file: file } expect(response.code).to eq '401' expect(response).to render_template 'unauthorized' end end end context "when not logged in" do it "redirects to root path" do post :create, params: { file: file } expect(response).to redirect_to main_app.new_user_session_path end end end
Version data entries
8 entries across 8 versions & 1 rubygems