Вот моя модель в Рубине на рельсахПроверка наличия и тип содержимого для того же тест недвижимости
class Item < ApplicationRecord
has_attached_file :image,
:styles => { :medium => "400x400>", :thumb => "100x100>", :square => "300x300#" }, default_url: "/images/:style/missing.png"
validates_presence_of(:description, :color, :category, :size, :image)
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
belongs_to :user
end
и я пытаюсь проверить его с помощью RSpec и фабрик девушки переопределения свойства изображения из модели в тесте. Но я не могу, потому что nil не заполняет полный тип проверки содержимого - это должен быть образ. В результате мы можем либо проверить, является ли это образ, либо включен ли он.
describe Item, type: :model do
context "validations" do
let(:user) {create(:user)}
subject(:item) {
create(:item, user_id: user.id)
}
it "is not valid without an image" do
item[:image] = nil
expect(item).not_to be_valid
end
end
end
include ActionDispatch::TestProcess
FactoryGirl.define do
factory :item do
size "XS"
color "Orange"
category "Onesie"
description "Pokemon onesie"
image { fixture_file_upload(Rails.root.join('spec', 'files', 'images', 'pokemon_onesie.jpg'), 'image/png') }
user_id 1
end
end
еще не знает, как его проверить – Agata