From 15e715c9f341408cda66289051d8a01f4473ec74 Mon Sep 17 00:00:00 2001 From: Harald Reingruber Date: Tue, 8 Mar 2022 00:11:06 +0100 Subject: [PATCH] Fix filtering of active ordergroups --- app/models/ordergroup.rb | 2 +- spec/models/ordergroup_spec.rb | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/models/ordergroup.rb b/app/models/ordergroup.rb index f699755b..e7ad7f11 100644 --- a/app/models/ordergroup.rb +++ b/app/models/ordergroup.rb @@ -20,7 +20,7 @@ class Ordergroup < Group after_create :update_stats! - scope :active, -> { joins(:orders).where(orders: { starts: (Time.now.months_ago(3)..) }).group(:id) } + scope :active, -> { joins(:orders).where(orders: { starts: (Time.now.months_ago(3)..Time.now) }).group(:id) } def contact "#{contact_phone} (#{contact_person})" diff --git a/spec/models/ordergroup_spec.rb b/spec/models/ordergroup_spec.rb index 6ac58fd5..2306b255 100644 --- a/spec/models/ordergroup_spec.rb +++ b/spec/models/ordergroup_spec.rb @@ -8,6 +8,20 @@ describe Ordergroup do let(:ftt3) { create :financial_transaction_type, financial_transaction_class: ftc2 } let(:user) { create :user, groups: [create(:ordergroup)] } + it 'shows no active ordergroups when all orders are older than 3 months' do + order = create :order, starts: 4.months.ago + user.ordergroup.group_orders.create!(order: order) + + expect(Ordergroup.active).to be_empty + end + + it 'shows active ordergroups when there are recent orders' do + order = create :order, starts: 2.days.ago + user.ordergroup.group_orders.create!(order: order) + + expect(Ordergroup.active).not_to be_empty + end + context 'with financial transactions' do before do og = user.ordergroup