demarches-normaliennes/spec/models/piece_justificative_spec.rb

40 lines
1.3 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe PieceJustificative do
describe 'database columns' do
it { is_expected.to have_db_column(:content) }
2016-05-18 11:43:32 +02:00
it { is_expected.to have_db_column(:original_filename) }
it { is_expected.to have_db_column(:content_secure_token) }
it { is_expected.to have_db_column(:created_at) }
end
describe 'associations' do
it { is_expected.to belong_to(:dossier) }
it { is_expected.to belong_to(:type_de_piece_justificative) }
it { is_expected.to belong_to(:user) }
it { is_expected.to have_one(:commentaire) }
end
2015-08-18 16:44:16 +02:00
describe 'validations' do
context 'content' do
it { is_expected.not_to allow_value(nil).for(:content) }
it { is_expected.not_to allow_value('').for(:content) }
end
end
2015-08-18 17:00:09 +02:00
describe 'delegation' do
it { is_expected.to delegate_method(:libelle).to(:type_de_piece_justificative) }
it { is_expected.to delegate_method(:api_entreprise).to(:type_de_piece_justificative) }
2015-08-18 16:44:16 +02:00
end
2015-08-18 16:51:57 +02:00
describe '#empty?', vcr: { cassette_name: 'model_piece_justificative' } do
let(:piece_justificative) { create(:piece_justificative, content: content) }
subject { piece_justificative.empty? }
2015-08-18 16:51:57 +02:00
context 'when content exist' do
let(:content) { File.open('./spec/support/files/piece_justificative_388.pdf') }
2015-08-18 16:51:57 +02:00
it { is_expected.to be_falsey }
end
end
2015-08-20 17:30:17 +02:00
end