osem-fcy/spec/models/room_spec.rb

29 lines
813 B
Ruby

# frozen_string_literal: true
require 'spec_helper'
describe Room do
subject { create(:room) }
describe 'validation' do
it { should validate_presence_of(:name) }
it { should validate_presence_of(:venue_id) }
it { should validate_numericality_of(:size).only_integer.is_greater_than(0).allow_nil }
end
describe 'association' do
it { should belong_to(:venue) }
it { should have_many(:event_schedules).dependent(:destroy) }
it { should have_many(:tracks) }
end
describe 'callback' do
after { subject.run_callbacks(:create) }
it '#generate_guid' do
regex_base64 = %r{^(?:[A-Za-z_\-0-9+\/]{4}\n?)*(?:[A-Za-z_\-0-9+\/]{2}|[A-Za-z_\-0-9+\/]{3}=)?$}
expect(subject).to receive(:generate_guid)
expect(subject.guid).to match regex_base64
end
end
end