DRY date usage

This commit is contained in:
Matt-Yorkley
2020-08-15 11:12:36 +01:00
parent 93601ca556
commit 91501f05f2
2 changed files with 14 additions and 6 deletions

View File

@@ -10,8 +10,14 @@ class RemoveTransientData
def call
Rails.logger.info("RemoveTransientData: processing")
Spree::StateChange.delete_all("created_at < '#{1.month.ago.to_date}'")
Spree::LogEntry.delete_all("created_at < '#{1.month.ago.to_date}'")
Session.delete_all("created_at < '#{2.weeks.ago.to_date}'")
Spree::StateChange.delete_all("created_at < '#{retention_period}'")
Spree::LogEntry.delete_all("created_at < '#{retention_period}'")
Session.delete_all("updated_at < '#{retention_period}'")
end
private
def retention_period
2.months.ago.to_date
end
end

View File

@@ -5,6 +5,8 @@ require 'tasks/data/remove_transient_data'
describe RemoveTransientData do
describe '#call' do
let(:retention_period) { RemoveTransientData.new.__send__(:retention_period) }
before do
allow(Spree::StateChange).to receive(:delete_all)
allow(Spree::LogEntry).to receive(:delete_all)
@@ -17,7 +19,7 @@ describe RemoveTransientData do
expect(Spree::StateChange)
.to have_received(:delete_all)
.with("created_at < '#{1.month.ago.to_date}'")
.with("created_at < '#{retention_period}'")
end
it 'deletes log entries older than a month' do
@@ -25,7 +27,7 @@ describe RemoveTransientData do
expect(Spree::LogEntry)
.to have_received(:delete_all)
.with("created_at < '#{1.month.ago.to_date}'")
.with("created_at < '#{retention_period}'")
end
it 'deletes sessions older than two weeks' do
@@ -33,7 +35,7 @@ describe RemoveTransientData do
expect(RemoveTransientData::Session)
.to have_received(:delete_all)
.with("created_at < '#{2.weeks.ago.to_date}'")
.with("updated_at < '#{retention_period}'")
end
end
end