2013-08-30 4 views
0

Я пишу тесты (RPSEC) и в модели для дизайна загрузки (которые содержат описание, фото и user_id)RSpec и PAPERCLIP камень для Ruby On Rails

Im помощью канцелярской скрепки драгоценного камня и все работает отлично, за исключением тесты, потому что я не знаю, как задать image_tag ..

Мой design_spec выглядит следующим образом

describe Design do 
    let(:user) { FactoryGirl.create(:user) } 

    before do 
    @design = Design.new(description: "Lorem ipsum", user_id: user.id, photo: (THIS IS WHERE I NEED HELP) 
    end 

    subject { @design } 

    it { should respond_to(:description) } 
    it { should respond_to(:user_id) } 
    it { should have_attached_file(:photo) } 
    it { should validate_attachment_presence(:photo) } 

    it { should be_valid } 

    describe "when user_id is not present" do 
    before { @design.user_id = nil } 

    it { should_not be_valid } 
    end 
end 

, что я нужна помощь в том, как показать, что дизайн имеет прикрепление фотографий. Очевидно, с описанием я могу использовать строку, но это не тот случай с изображением.

Заранее благодарим за помощь.

ответ

2

Вы пытались взять файл, хранящийся локально на вашем жестком диске?

@design.photo = File.new("/path/to/my-image.png") 
+0

AGHHH YOUR AWEOSME !! что отлично работает, я не знаю, почему я не думал об этом. Ответ всегда так ясен, когда вы их видите. –

+1

Также вы можете использовать 'Rack :: Test :: UploadedFile.new (« me.jpg »,« image/jpeg ») 'вместо' File.new' для создания параметров, как вы могли бы получить от отправки формы. см .: http://rdoc.info/github/brynary/rack-test/master/Rack/Test/UploadedFile – RipTheJacker

Смежные вопросы