Criaremos um novo model Orders que referencia ao Customer
rails g model Order description:string customer:references
Todo pedido pertence ao cliente.
O sistema vai criar uma Factory para Order automaticamente.
Na factory de order usaremos o sequence para sequenciar a descrição dos pedidos
FactoryBot.define do
factory :order do
sequence(:description) { |n| "Pedido #{n}" }
#criando o customer automaticamente:
customer #cria o customer automaticamente para associar ao pedido
#equivalente a:
#association :customer, factory: :customer
end
end
Ao criar o pedido ele cria o customer por conta da associação.
No teste spec/models/order_spec.rb, verificaremos se o Customer foi criado automaticamente.
RSpec.describe Order, type: :model do
it 'Verifica se o order possui customer' do
order = create(:order)
expect(order.customer).to be_kind_of(Customer)
end
end
Também podemos criar um customer dentro de order_spec.rb e ele sobrescrever.
it 'Verifica se o order possui customer' do
customer_manual = crete(:customer_female_vip)
order = create(:order, customer: customer_manual) #sobrescrevendo o customer automático
expect(order.customer).to be_kind_of(Customer)
end
Criaremos um novo model Orders que referencia ao Customer
rails g model Order description:string customer:references
Todo pedido pertence ao cliente.
O sistema vai criar uma Factory para Order automaticamente.
Na factory de order usaremos o sequence para sequenciar a descrição dos pedidos
Ao criar o pedido ele cria o customer por conta da associação.
No teste spec/models/order_spec.rb, verificaremos se o Customer foi criado automaticamente.
Também podemos criar um customer dentro de order_spec.rb e ele sobrescrever.