From 69a4139268fbab18f98c2e9cc0b97b8aa0ffa411 Mon Sep 17 00:00:00 2001 From: Aditya Prakash Date: Sat, 5 Mar 2016 16:41:46 +0530 Subject: [PATCH] Tests for room model --- spec/models/room_spec.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 spec/models/room_spec.rb diff --git a/spec/models/room_spec.rb b/spec/models/room_spec.rb new file mode 100644 index 00000000..9220416b --- /dev/null +++ b/spec/models/room_spec.rb @@ -0,0 +1,26 @@ +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(:events).dependent(:nullify) } + 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