From 15e715c9f341408cda66289051d8a01f4473ec74 Mon Sep 17 00:00:00 2001 From: Harald Reingruber Date: Tue, 8 Mar 2022 00:11:06 +0100 Subject: [PATCH 1/2] 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 From e8a28d7fee2796b9e0d7c9c97a407867cf06dc84 Mon Sep 17 00:00:00 2001 From: Harald Reingruber Date: Fri, 11 Mar 2022 22:43:43 +0100 Subject: [PATCH 2/2] Add table_print for debugging ActiveRecord queries in the console --- Gemfile | 2 ++ Gemfile.lock | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Gemfile b/Gemfile index 1a56b334..fe7ceeed 100644 --- a/Gemfile +++ b/Gemfile @@ -85,6 +85,8 @@ group :development do # Get infos when not using proper eager loading gem 'bullet' + # Display Active Record queries as tables in the console + gem 'table_print' end group :development, :test do diff --git a/Gemfile.lock b/Gemfile.lock index 90d7272d..406314ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -513,6 +513,7 @@ GEM sqlite3 (1.3.13) sqlite3-ruby (1.3.3) sqlite3 (>= 1.3.3) + table_print (1.5.7) temple (0.8.2) therubyracer (0.12.3) libv8 (~> 3.16.14.15) @@ -646,6 +647,7 @@ DEPENDENCIES spreadsheet sprockets (< 4) sqlite3 (~> 1.3.6) + table_print therubyracer twitter-bootstrap-rails (~> 2.2.8) uglifier (>= 1.0.3)