FactoryGirl.define do factory :reseller_cart, :class => Reseller::Cart do state :approved reseller { FactoryGirl.create :organization_with_reselling } end factory :cart do end factory :cart_with_items, :parent => :cart do after(:create) do |cart| tickets = 3.times.collect { FactoryGirl.create(:ticket) } Ticket.lock(tickets, tickets.first.ticket_type, cart) cart.donations << FactoryGirl.create(:donation) end end factory :cart_with_free_items, :parent => :cart do after(:create) do |order| order.tickets << 3.times.collect { FactoryGirl.create(:free_ticket) } end end factory :cart_with_only_tickets, :parent => :cart do end factory :cart_with_tickets_from_the_same_event, :parent => :cart do after(:create) do |cart| tickets = 3.times.collect { FactoryGirl.create(:ticket) } @show = tickets.first.show tickets.each do |t| t.show = @show t.save! end Ticket.lock(tickets, tickets.first.ticket_type, cart) cart.donations << FactoryGirl.create(:donation) end end factory :cart_with_tickets_from_different_events, :parent => :cart do after(:create) do |cart| tickets = 2.times.collect { FactoryGirl.create(:ticket) } Ticket.lock(tickets, tickets.first.ticket_type, cart) end end factory :basic_cart, :class => Cart do state :approved end end