Add PostStatus model

This commit is contained in:
riggraz
2019-08-24 12:06:48 +02:00
parent 8e610aa381
commit 726236b8aa
6 changed files with 71 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
FactoryBot.define do
factory :post_status do
sequence(:name) { |n| "Post Status #{n}" }
color { "#ffffff" }
end
end

View File

@@ -0,0 +1,37 @@
require 'rails_helper'
RSpec.describe PostStatus, type: :model do
let(:post_status) { FactoryBot.create(:post_status) }
it 'must have a name' do
emptyname = FactoryBot.build(:post_status, name: "")
nilname = FactoryBot.build(:post_status, name: nil)
expect(emptyname.valid?).to be_falsy
expect(nilname.valid?).to be_falsy
expect(post_status.valid?).to be_truthy
end
it 'has a unique name' do
post_status2 = FactoryBot.build(:post_status, name: post_status.name)
expect(post_status2.valid?).to be_falsy
expect(post_status.valid?).to be_truthy
end
it 'has a valid hex color' do
nilcolor = FactoryBot.build(:post_status, color: nil)
emptycolor = FactoryBot.build(:post_status, color: "")
invalidcolor = FactoryBot.build(:post_status, color: "ffffff")
invalidcolor2 = FactoryBot.build(:post_status, color: "#ffff")
validcolor = FactoryBot.build(:post_status, color: "#fff")
validcolor2 = FactoryBot.build(:post_status, color: "#ffffff")
expect(nilcolor.valid?).to be_falsy
expect(emptycolor.valid?).to be_falsy
expect(invalidcolor.valid?).to be_falsy
expect(invalidcolor2.valid?).to be_falsy
expect(validcolor.valid?).to be_truthy
expect(validcolor2.valid?).to be_truthy
end
end