2

我正在尝试通过 capybara 测试 cloudinary 直接上传,但 capybara 说它找不到图像上传字段。你如何测试直接上传?

图片规格.rb

require 'spec_helper'

feature "User Pictures" do
  let(:user) { create(:user) }

  describe "Uploading an image" do 
    describe "for profile photo" do 
      it "raises an error when clicked outside cropping image so image is not cropped" do
        visit new_user_picture_path(user)
        attach_file('#photo upload', "#{Rails.root}/spec/support/images/PRATIQUE_BIG.png")
        click_on "Valider Photo"
        expect(page).to have_content "SVP crop votre image et celle-ci doit mesurer au moins 100 x 100px"
      end
    end
  end

end

新图片页面

= form_for(@photo, :url => url, role: "form") do |f|          
                .form_line.form-group
                    .upload_button_holder
                        = link_to "Parcourir", "#", class: "btn btn-default upload_button form-control"
                        #photo-upload= f.cl_image_upload :image, class: "form-control" 
                    %span.status
                .form-group
                    .form_control
                        .preview
                = f.hidden_field :crop_x 
                = f.hidden_field :crop_y 
                = f.hidden_field :crop_w 
                = f.hidden_field :crop_h 
                .form-group
                    = f.submit "Valider Photo", class: "btn btn-lg btn-success" 

            = hidden_field_tag :direct, params[:direct] 
        %p= link_to "Retour à Mon Profil", profile_path(current_user.user_code)
 // Configure Cloudinary jQuery plugin 
 = cloudinary_js_config 

水豚然后回馈Unable to find file field "photo-upload"

4

1 回答 1

0

在 的情况下,该字段的名称cl_image_upload始终为filephoto-update是周围div的id。您可以通过传递html: {id: "my-id"}给文件输入字段分配一个 id cl_image_upload。顺便提一句。类也属于html哈希参数。

于 2014-06-09T16:47:25.343 回答