Adopt Rails 5 belongs_to_required_by_default

This commit is contained in:
Patrick Gansterer 2020-08-01 02:49:15 +02:00
parent 2557645f4f
commit 44a198c7bc
23 changed files with 53 additions and 38 deletions

View file

@ -5,6 +5,7 @@ FactoryBot.define do
# requires order
factory :group_order do
ordergroup { create(:user, groups: [FactoryBot.create(:ordergroup)]).ordergroup }
updated_by { create :user }
end
end

View file

@ -6,6 +6,7 @@ FactoryBot.define do
supplier
number { rand(1..99999) }
amount { rand(0.1..26.0).round(2) }
created_by { create :user }
after :create do |invoice|
invoice.supplier.reload

View file

@ -6,6 +6,8 @@ FactoryBot.define do
starts { Time.now }
supplier { create :supplier, article_count: (article_count.nil? ? true : article_count) }
article_ids { supplier.articles.map(&:id) unless supplier.nil? }
created_by { create :user }
updated_by { create :user }
transient do
article_count { true }

View file

@ -11,6 +11,12 @@ FactoryBot.define do
article_count { 0 }
end
before :create do |supplier, evaluator|
next if supplier.class == SharedSupplier
next if supplier.supplier_category_id?
supplier.supplier_category = create :supplier_category
end
after :create do |supplier, evaluator|
article_count = evaluator.article_count
article_count = rand(1..99) if article_count == true
@ -20,4 +26,9 @@ FactoryBot.define do
factory :shared_supplier, class: SharedSupplier
end
factory :supplier_category do
sequence(:name) { |n| Faker::Lorem.characters(number: rand(2..12)) + " ##{n}" }
financial_transaction_class
end
end

View file

@ -9,6 +9,7 @@ feature 'supplier' do
before { login user }
it 'can be created' do
create :supplier_category
visit suppliers_path
click_on I18n.t('suppliers.index.action_new')
supplier = build :supplier

View file

@ -1,12 +1,13 @@
require_relative '../spec_helper'
describe Order do
let(:user) { create :user, groups: [create(:ordergroup)] }
it 'automaticly finishes ended' do
create :order, created_by: User.first, starts: Date.yesterday, ends: 1.hour.from_now
create :order, created_by: User.first, starts: Date.yesterday, ends: 1.hour.ago
create :order, created_by: User.first, starts: Date.yesterday, ends: 1.hour.from_now, end_action: :auto_close
order = create :order, created_by: User.first, starts: Date.yesterday, ends: 1.hour.ago, end_action: :auto_close
create :order, created_by: user, starts: Date.yesterday, ends: 1.hour.from_now
create :order, created_by: user, starts: Date.yesterday, ends: 1.hour.ago
create :order, created_by: user, starts: Date.yesterday, ends: 1.hour.from_now, end_action: :auto_close
order = create :order, created_by: user, starts: Date.yesterday, ends: 1.hour.ago, end_action: :auto_close
Order.finish_ended!
order.reload
@ -18,7 +19,7 @@ describe Order do
it 'sends mail if min_order_quantity has been reached' do
create :user, groups: [create(:ordergroup)]
create :order, created_by: User.first, starts: Date.yesterday, ends: 1.hour.ago, end_action: :auto_close_and_send_min_quantity
create :order, created_by: user, starts: Date.yesterday, ends: 1.hour.ago, end_action: :auto_close_and_send_min_quantity
Order.finish_ended!
expect(ActionMailer::Base.deliveries.count).to eq 1
@ -50,7 +51,7 @@ describe Order do
it 'can be finished' do
# TODO randomise user
order.finish!(User.first)
order.finish!(user)
expect(order).to_not be_open
expect(order).to be_finished
expect(order).to_not be_closed
@ -58,8 +59,8 @@ describe Order do
it 'can be closed' do
# TODO randomise user
order.finish!(User.first)
order.close!(User.first)
order.finish!(user)
order.close!(user)
expect(order).to_not be_open
expect(order).to be_closed
end