Я пытаюсь протестировать модель, которую я создал для своего приложения, она связана с двумя другими моделями, также использующими Factory Bot для построения теста, однако она не распознает ее, возвращаемая ошибка: Failure/Error: status :pending //// NoMethodError: undefined method 'status' in 'pending' factory.
Я запускаю приложение с Ruby 2.6.1, Rails 5.2.3, FactoryBot 5.0.2, Rspec 3.8. Я пробовал разные способы определения перечисления. Я не знаю, что делать дальше.
Модель:
class CollegeWhitelist < ApplicationRecord
enum status: {pending: 0, approved: 1, rejected: 2}
has_many :users
has_many :colleges
end
Фабрика:
FactoryBot.define do
factory :college_whitelist do
association :user
association :college
trait :pending do
status :pending
end
trait :approved do
status :approved
end
trait :rejected do
status :rejected
end
end
end
Rspec:
require 'rails_helper'
RSpec.describe CollegeWhitelist, type: :model do
describe "#consistency " do
it 'cannot insert the same user for the same college in permissions' do
@permission = build(:college_whitelist)
p @permission
end
end
end
Iожидал, что он пройдет тест, сначала просто распечатав объект.