diff --git a/spec/factories/boards.rb b/spec/factories/boards.rb index 467a82ad..4a29d395 100644 --- a/spec/factories/boards.rb +++ b/spec/factories/boards.rb @@ -3,9 +3,4 @@ FactoryBot.define do sequence(:name) { |n| "Board#{n}" } description { "My fantastic board" } end - - factory :noname_board, class: Board do - name { "" } - description { "This board has no name :O" } - end end diff --git a/spec/models/board_spec.rb b/spec/models/board_spec.rb index 164cf0a1..c6493a02 100644 --- a/spec/models/board_spec.rb +++ b/spec/models/board_spec.rb @@ -1,31 +1,32 @@ require 'rails_helper' RSpec.describe Board, type: :model do - let(:board) { FactoryBot.create(:board) } - let(:noname_board) { FactoryBot.build(:noname_board) } it 'should be valid' do expect(board).to be_valid end - it 'has a non-nil name' do - expect(noname_board).to be_invalid + it 'has a non-nil and non-empty name' do + nil_name_board = FactoryBot.build(:board, name: nil) + empty_name_board = FactoryBot.build(:board, name: "") + + expect(nil_name_board).to be_invalid + expect(empty_name_board).to be_invalid end it 'has an unique name' do board - board2 = Board.new(name: board.name, description: "This board has the same name as board!") + board2 = FactoryBot.build(:board, name: board.name) expect(board2).to be_invalid end it 'has a description that can be nil or empty' do - nildescription_board = Board.new(name: "nil board", description: nil) - emptydescription_board = Board.new(name: "empty board", description: "") + nil_description_board = FactoryBot.build(:board, description: nil) + empty_description_board = FactoryBot.build(:board, description: "") - expect(nildescription_board).to be_valid - expect(emptydescription_board).to be_valid + expect(nil_description_board).to be_valid + expect(empty_description_board).to be_valid end - end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index c431e117..21d95cd2 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -7,7 +7,7 @@ RSpec.describe Post, type: :model do expect(post).to be_valid end - it 'has a non-null and non-empty title' do + it 'has a non-nil and non-empty title' do nil_post = FactoryBot.build(:post, title: nil) empty_post = FactoryBot.build(:post, title: "") diff --git a/spec/models/post_status_spec.rb b/spec/models/post_status_spec.rb index 8c59af8e..19c30fd6 100644 --- a/spec/models/post_status_spec.rb +++ b/spec/models/post_status_spec.rb @@ -8,11 +8,11 @@ RSpec.describe PostStatus, type: :model do end it 'must have a name' do - emptyname = FactoryBot.build(:post_status, name: "") - nilname = FactoryBot.build(:post_status, name: nil) + empty_name = FactoryBot.build(:post_status, name: "") + nil_name = FactoryBot.build(:post_status, name: nil) - expect(emptyname).to be_invalid - expect(nilname).to be_invalid + expect(empty_name).to be_invalid + expect(nil_name).to be_invalid end it 'has a unique name' do @@ -22,18 +22,18 @@ RSpec.describe PostStatus, type: :model do 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") + 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") - expect(nilcolor).to be_invalid - expect(emptycolor).to be_invalid - expect(invalidcolor).to be_invalid - expect(invalidcolor2).to be_invalid - expect(validcolor).to be_valid - expect(validcolor2).to be_valid + 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 end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c0972631..3fe49bfc 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,12 +1,7 @@ require 'rails_helper' RSpec.describe User, type: :model do - let(:user) { FactoryBot.build(:user) } - let(:nilname_user) { FactoryBot.build(:user, full_name: nil) } - let(:emptyname_user) { FactoryBot.build(:user, full_name: "") } - let(:short_user) { FactoryBot.build(:user, full_name: "a") } - let(:long_user) { FactoryBot.build(:user, full_name: "a" * 33) } it 'should be valid' do expect(user).to be_valid @@ -31,26 +26,28 @@ RSpec.describe User, type: :model do end it 'has a non-nil and non-empty full name' do - expect(nilname_user).to be_invalid - expect(emptyname_user).to be_invalid + nil_name_user = FactoryBot.build(:user, full_name: nil) + empty_name_user = FactoryBot.build(:user, full_name: "") + + expect(nil_name_user).to be_invalid + expect(empty_name_user).to be_invalid end it 'has a full name between 2 and 32 characters' do - expect(short_user).to be_invalid - expect(long_user).to be_invalid - - - short_user.full_name = "a" * 2; - long_user.full_name = "a" * 32; - + too_short_user = FactoryBot.build(:user, full_name: "a" * 1) + short_user = FactoryBot.build(:user, full_name: "a" * 2) + long_user = FactoryBot.build(:user, full_name: "a" * 32) + too_long_user = FactoryBot.build(:user, full_name: "a" * 33) + + expect(too_short_user).to be_invalid expect(short_user).to be_valid expect(long_user).to be_valid + expect(too_long_user).to be_invalid end it 'has an email that must contain a @' do - invalid_email_user = User.new(full_name: "Valid name", email: "invalid email", password: "password") + invalid_email_user = FactoryBot.build(:user, email: "invalid.email") expect(invalid_email_user).to be_invalid end - end