vanderleipinto / test_app

0 stars 0 forks source link

feat: Sobrescrevendo atributos e Aliases para fabricas #12

Closed vanderleipinto closed 7 months ago

vanderleipinto commented 7 months ago

Sobrescrevendo um atributo

Faz-se a criação do objeto normalmente e sobrescreve os dados desejados:

require 'rails_helper'

RSpec.describe Customer, type: :model do
  it 'full_name_ Sobrescrevendo atributo' do
    customer = create(:customer, name: "Vanderlei Pinto") #sobrescreve o nome
    expect(customer.full_name).to eq("Sr. Vanderlei Pinto")
  end    
end

Aliases

Podemos usar o aliases para dar um 'apelido' para o factory.

No arquivo spec/factories/customer.rb

FactoryBot.define do
  factory :customer, aliases: [:user, :worker] do #apelidos para customer
    name {Faker::Name.name}
    email {"beatriz@filha.com"}
  end
end

No teste podemos usar: :customer, :worker ou :user

customer = build(:worker, name: "Vanderlei") #ou :customer, :worker ou :user