Обновление условной проверки запускается при создании - PullRequest
0 голосов
/ 26 июня 2019

У меня есть приложение Rails5 с таблицей «Участник» со столбцом «returning_couns».

Я использую Rspec, чтобы проверить, что значение не требуется при первоначальном создании записи.

В Participant.rb у нас есть:

validates_inclusion_of :returning_couns, :in => [true, false ], message: 'You must indicate the returning counselor status.', on: :update

Это из member_spec.rb:

describe 'returning counselor tests' do  
   before :each do  
     @adult_attr = { 
       :gender => 'Male', :first_name => 'John', :last_name => 'Smith',
       .... # other attrs for valid Participant, without returning_couns
     }
   end

  it 'does not require returning_couns on create' do
      expect(Participant.create(@adult_attr)).to be_valid
  end
end

Эта спецификация не работает с сообщением

ожидается # Идентификатор участника: 1, имя_первого имени: "Джон", ... returning_couns: nil, ...пол: "Мужской"> для того, чтобы быть действительным, но получил ошибки: Счетчик возвратов Вы должны указать статус консультанта по возвращению.

Вот окончательный вывод из файла журнала rspec.

  (0.2ms)  BEGIN
  (0.3ms)  SAVEPOINT active_record_1
  Participant Create (1.0ms)  INSERT INTO "participants" ("first_name", "last_name", "address1", "city", "state", "zip", "email", "mobile_phone", "home_phone", "shirt_size", "grade", "grade_date", "special_needs", "created_at", "updated_at", "youth", "full_legal_name", "bg_check_option", "gender") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19) RETURNING "id"  [["first_name", "John"], ["last_name", "Smith"], ["address1", "100 First Street"], ["city", "Our Town"], ["state", "CA"], ["zip", "90001"], ["email", "john.smith@gmail.com"], ["mobile_phone", "916-123-1234"], ["home_phone", "916-111-2222"], ["shirt_size", "XL"], ["grade", "23 or older"], ["grade_date", "1996-06-25"], ["special_needs", "Allergic to shellfish and tree nuts"], ["created_at", "2019-06-25 21:14:47.974226"], ["updated_at", "2019-06-25 21:14:47.974226"], ["youth", false], ["full_legal_name", "John H. Smith"], ["bg_check_option", 1], ["gender", "Male"]]
 (0.3ms)  RELEASE SAVEPOINT active_record_1
 (1.0ms)  ROLLBACK

При создании поле returning_couns является обязательным, хотя условная проверка указывает on: :update.Есть идеи, что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...