# Copyright (C) 2024 Manuel Bustillo require 'rails_helper' RSpec.describe Guest, type: :model do describe 'validations' do it { should validate_presence_of(:name) } it do should define_enum_for(:status).with_values( considered: 0, invited: 10, confirmed: 20, declined: 30, tentative: 40 ) end end it { should belong_to(:group) } describe 'scopes' do describe '.potential' do it 'returns guests that are not declined or considered' do _declined_guest = create(:guest, status: :declined) _considered_guest = create(:guest, status: :considered) invited_guest = create(:guest, status: :invited) confirmed_guest = create(:guest, status: :confirmed) tentative_guest = create(:guest, status: :tentative) expect(Guest.potential).to match_array([invited_guest, confirmed_guest, tentative_guest]) end end end end