フォーム フィールドを持つフォーム オブジェクトがあります (外部キー form_id を介して)
フォームには多くの form_fields があります。
form_fields に関連付けられた form_field_labels もあります (外部キー field_id 経由)。
form_field には、1 つの form_field_label があります。
フォーム、メソッド、および検証をテストできるように、いくつかの基本的なファクトリを構築しようとしています。
これが私がこれまでに持っているものです:
FactoryGirl.define do
factory :default_form , class: Form do
form_name "Default Form"
form_url "default"
enctype "multipart/form-data"
form_type ""
form_layout "1_column"
group_id 0
response_fields "photo,first_name,last_name"
default_form 0
language "en"
submit_button_text "Submit"
reset_button_text "Reset"
default_dropdown_text "Please Select"
sort 0
default_status "NEW"
apply_flag false
require_advisory false
add_button_text "Add Another Applicant"
follows_group_default false
factory :default_form_with_fields do
ignore do
form_fields_count 5
form_field_labels_count 5
end
after(:create) do |form, evaluator|
FactoryGirl.create_list(:form_field, evaluator.form_fields_count, form: form)
end
end
end
end
FactoryGirl github ページから create_list 関数をコピーしましたが、基本的な Form->form_fields->form_field_label 関係のファクトリが必要なテスト ケースに必要かどうかわかりません。
createblock の後で、デフォルトのフォーム フィールドが適切に設定されているようです。問題は、すべての form_field に関連付けられた form_field_label が必要なことです。
私たちのスキーマでは、form_field_label のない form_field などはありません。
私は factory girl を初めて使用しますが、少なくともこれらの基本的な関連付けを設定して、フォームを作成するたびに、いくつかのテスト form_fields (工場の女の子を介して) といくつかのテスト form_field_labels を自動的に作成したいと考えています。
どんな助けでも大歓迎です。
ありがとう