次のようなフォーム オブジェクトがあります。
class LeaderForm < UserForm
feature Reform::Form::MultiParameterAttributes
property :title
property :gender
property :phone_number
property :date_of_birth, multi_params: true
property :address, form: AddressForm # need to test this line
validates :title, :gender, :phone_number, :date_of_birth, presence: true
end
が存在するかどうかをテストする機能仕様を作成するにはどうすればよいAddressFormですか?
他の「プロパティ」(タイトル、性別など)をテストするための作業仕様がすでにあります。
私は次のようなものを試しました
it 'must have the address form present' do
expect(form.address).to include(AddressForm)
end
その出力は
1) LeaderForm must have the address form present
Failure/Error: expect(form.address).to include(AddressForm)
expected #<AddressForm:0x007f89231c3280 @fields={"address1" => nil, "address2" => nil, "address3" => nil, "city" => ni...odel::Errors:0x007f89231c2b50 @base=#<AddressForm:0x007f89231c3280 ...>, @messages={}, @details={}>> to include AddressForm, but it does not respond to `include?`
Diff:
@@ -1,2 +1,41 @@
-[AddressForm]
+#<AddressForm:0x007f89231c3280
+ @_changes={},
+ @errors=
+ #<Reform::Form::ActiveModel::Errors:0x007f89231c2b50
+ @base=#<AddressForm:0x007f89231c3280 ...>,
+ @details={},
+ @messages={}>,
+ @fields=
+ {"address1"=>nil,
+ "address2"=>nil,
+ "address3"=>nil,
+ "city"=>nil,
+ "postal_code"=>nil,
+ "country"=>nil},
それはほとんどそこにあるように思えますが、完全ではありません。
私は一般的にRSpecに非常に慣れていないので、十分な情報を提供できなかったら申し訳ありません.