Files
astuto/spec/models/post_status_spec.rb

54 lines
1.7 KiB
Ruby
Raw Normal View History

2019-08-24 12:06:48 +02:00
require 'rails_helper'
RSpec.describe PostStatus, type: :model do
let(:post_status) { FactoryBot.create(:post_status) }
it 'should be valid' do
expect(post_status).to be_valid
end
2019-08-24 12:06:48 +02:00
it 'must have a name' do
empty_name = FactoryBot.build(:post_status, name: '')
2019-08-24 19:12:57 +02:00
nil_name = FactoryBot.build(:post_status, name: nil)
2019-08-24 12:06:48 +02:00
2019-08-24 19:12:57 +02:00
expect(empty_name).to be_invalid
expect(nil_name).to be_invalid
2019-08-24 12:06:48 +02:00
end
it 'has a unique name' do
post_status2 = FactoryBot.build(:post_status, name: post_status.name)
expect(post_status2).to be_invalid
2019-08-24 12:06:48 +02:00
end
it 'has a valid hex color' do
2019-08-24 19:12:57 +02:00
nil_color = FactoryBot.build(:post_status, color: nil)
empty_color = FactoryBot.build(:post_status, color: '')
invalid_color = FactoryBot.build(:post_status, color: 'ffffff')
invalid_color2 = FactoryBot.build(:post_status, color: '#ffff')
valid_color = FactoryBot.build(:post_status, color: '#fff')
valid_color2 = FactoryBot.build(:post_status, color: '#ffffff')
2019-08-24 12:06:48 +02:00
2019-08-24 19:12:57 +02:00
expect(nil_color).to be_invalid
expect(empty_color).to be_invalid
expect(invalid_color).to be_invalid
expect(invalid_color2).to be_invalid
expect(valid_color).to be_valid
expect(valid_color2).to be_valid
2019-08-24 12:06:48 +02:00
end
it 'must have a order of type integer and positive' do
nil_order = FactoryBot.build(:post_status, order: nil)
empty_order = FactoryBot.build(:post_status, order: '')
decimal_order = FactoryBot.build(:post_status, order: 1.1)
negative_order = FactoryBot.build(:post_status, order: -1)
zero_order = FactoryBot.build(:post_status, order: 0)
expect(nil_order).to be_invalid
expect(empty_order).to be_invalid
expect(decimal_order).to be_invalid
expect(negative_order).to be_invalid
expect(zero_order).to be_invalid
end
2019-08-24 12:06:48 +02:00
end