Skip to content

Instantly share code, notes, and snippets.

@lucasrenan
Created March 16, 2016 20:29
Show Gist options
  • Save lucasrenan/76feef8cfb8f42c99e2d to your computer and use it in GitHub Desktop.
Save lucasrenan/76feef8cfb8f42c99e2d to your computer and use it in GitHub Desktop.
class BaseUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
require 'rails_helper'
RSpec.describe BaseUploader do
let(:model) { double "model", id: 1 }
let(:uploader) { BaseUploader.new(model, :file) }
before do
uploader.store!(File.open("#{Rails.root}/spec/support/fixtures/file_name.png"))
end
after do
uploader.remove!
end
it 'uploads file' do
expect(uploader.url).to eq("/uploads/r_spec/mocks/double/file/1/file_name.png")
end
it 'allows just image upload' do
expect(uploader.extension_white_list).to eq(%w(jpg jpeg gif png))
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment