Commit Graph

50 Commits

Author SHA1 Message Date
Maikel Linke
6d284023fe Configure rake specs in one place
So we don't have to add it to every rake spec file.
2025-09-22 17:27:58 +10:00
Maikel Linke
2555a9e710 Ignore breaking code coverage for coverage spec
When we test our code coverage compilation, it breaks the code coverage
report for the current rspec process. By running that code separately,
we gain a correct coverage report for the rest of the code again.

So unfortunately, we can't report on the code coverage of this
particular task and have to ignore it. But at least CI depends on the
correct function of this task and would fail if it didn't work.
2025-08-05 12:45:05 +10:00
Maikel Linke
f532c4712e Load rake tasks only once for code coverage
Apparently, Rake's way of reloading the task code confuses the code
coverage report. Code tested by rake task specs was not recognised as
covered even though it was.
2025-08-05 12:44:13 +10:00
Maikel Linke
c0924fbe5e Use new Undercover formatter for :nocov: support 2025-07-31 14:56:17 +10:00
Maikel Linke
64608beaa8 Remove DefaultStockLocation created in setup 2025-01-22 12:01:57 +11:00
Maikel Linke
a696c66857 Clean up tmp dir after test and avoid collisions
Best viewed ignoring whitespace changes.
2024-08-28 11:27:42 +10:00
Joseph Johansen
922b853e3a Define specs for rake task to combine results 2024-08-21 13:02:31 +01:00
David Cook
df81e8ed35 Add task to connect all enterprises
Example usage:
 rake ofn:enterprises:activate_connected_app_type[affiliate_sales_data]
2024-07-25 21:14:04 +10:00
cyrillefr
659111932c Fixes Rails/RelativeDateConstant offense
- Cop: Rails/RelativeDateConstant
- raises offense if Constant is relative data (ie: since, ago)
- Reason: relative data will be evaluated only once
- BUT here, Date should not be evaluated in a class method, and have a different
- value for each call. But the data should be the same for an instance
- Therefore: move the ago in init method
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrelativedateconstant

- Since there is no constant to be called form a class, but a date from an instance, the
  spec has been modified accordingly. The RemoveTransientData.new.call had to be splitted.
2024-06-21 23:07:16 +02:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +10:00
Maikel Linke
c0010319af Avoid duplicate loading of task in spec
The new product image import spec was loading rake tasks multiple times.
That make the spec for enterprise deletion fail when executed afterwards
because the deletion task was executed twice and failed the second time.
2024-04-09 12:04:42 +10:00
Ana Nunes da Silva
d726a0e3cb Fix offense constant definition in block in users.rake
This rake has tests
2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
5415fa2db8 Fix offense constant definition in block in import_product_images_rake.rb
Add a test to import product images rake
2024-04-08 11:16:38 +01:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
David Cook
2107aeded1 Un-safely autocorrect RSpec/ExpectChange 2024-02-23 12:17:09 +11:00
Maikel Linke
78bfd47ad3 Add rake task to reset queued jobs
Please note that the spec is using Redis as Sidekiq does. This revealed
that Sidekiq wasn't set up for jobs in the test environment properly.
2024-02-15 16:51:10 +11:00
Neal Chambers
7ecd4a149b Fix Style/HashSyntax 2023-09-21 22:58:42 +09:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Maikel Linke
f29e569f1b Remove Paperclip migration code 2022-06-01 17:16:54 +10:00
Maikel Linke
94d8ada362 Use checksum of *original* image in Paperclip migration 2022-05-12 12:13:12 +10:00
Maikel Linke
92677385fa Correct checksum in Paperclip migration task
Active Storage needs a checksum for each file and AWS S3 provides this
checksum as "ETag". They are both MD5 but AWS stores it as hexdigest and
Active Storage as base64digest. We need to convert it from on to the
other to get a valid checksum for Active Storage.

Where the migration task has already run (only staging servers), delete all
Active Storage data first and then run the task again:

  bundle exec rake db:migrate:down VERSION=20220316055458
  bundle exec rake db:migrate

  bundle exec rake from_paperclip_to_active_storage:copy_content_config
  bundle exec rake from_paperclip_to_active_storage:migrate
2022-05-12 12:13:12 +10:00
Maikel Linke
9dc3c5a06c Add task for ContentConfig image migration 2022-04-25 13:00:31 +10:00
Maikel Linke
1c1f9d73a3 Add task to migrate existing files to Active Storage
Common migrations look for all models with *_file_name attributes but I
found that unreliable in our code base. It finds too many model classes
and doesn't allow us to be more selective in the migration. So I used
our own migration declaration to migrate exactly those attachments
specified.
2022-04-25 13:00:31 +10:00
Maikel Linke
a3a1e27cb1 Update setup script for removed callbacks
We removed some Spree magic a while back and that broke our sample data
script. This is now corrected.

I also added a spec so that we will notice broken seed data earlier.
2022-04-13 14:48:30 +10:00
Cillian O'Ruanaidh
a80e1b7625 Reduce retention period of Spree state changes and log entries from 6 to 3 months
The UK instance noticed Spree state changes and log entries seem to be filling up quite quickly.

Fixes #7123
2021-03-17 12:12:45 +00:00
Matt-Yorkley
2de54e5ae2 Fix updated_at issue in RemoveTransientData spec
The value in the test setup was not what was expected after the updates to touching the updated_at columns.
2021-01-30 13:10:38 +00:00
Matt-Yorkley
4f7c8062a1 Create class to map join table and simplify code 2021-01-28 21:51:50 +00:00
Matt-Yorkley
e6c59fbd96 Update data retention periods
Sessions and cart data are removed if older than 3 months, instead of 6.
2021-01-27 22:40:23 +00:00
Matt-Yorkley
0a88712926 Clear orphaned records in join table spree_option_value_line_items 2021-01-27 22:40:23 +00:00
Matt-Yorkley
4230d46a06 Remove carts older than 6 months 2021-01-27 22:40:23 +00:00
Maikel Linke
3f6288d5c7 Load rake task under test for all its specs
If you ran only the second spec without the first, the rake file wasn't
loaded and the test failed.
2020-12-10 15:35:05 +11:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00
Pau Perez
f890c4a31d Fix LogEntry spec 2020-09-08 14:12:17 +02:00
Pau Perez
14054f0e70 Move retention period to constant
There's no need to reevaluate the date 3 times, potentially leading to
edge cases.
2020-09-08 12:48:30 +02:00
Pau Perez
d525ddfe14 Move missing statements to where + delete_all
And fix the specs
2020-09-08 12:47:42 +02:00
Matt-Yorkley
91501f05f2 DRY date usage 2020-08-15 11:19:24 +01:00
Matt-Yorkley
93601ca556 Extract #remove_transient_data from TruncateData 2020-08-15 11:19:24 +01:00
Luis Ramos
8a9dae0ee2 Run rubocop autocorrect
This is the result of bundle exec rubocop --auto-correct
2020-06-22 12:23:10 +01:00
Pau Perez
e0228f66af Default to archiving data older than 2 years.
This is safer than the current 3 months.
2020-04-29 16:49:43 +02:00
Pau Perez
6ceeda7d9e Instrument TruncateData logging start and end 2020-04-29 16:49:43 +02:00
Pau Perez
a3b8638faf Delete sessions older than two weeks
This affects users that are actively purchasing, so 2 weeks data is more
than enough. Others can afford to log in again.
2020-04-29 16:49:43 +02:00
Pau Perez
0f1d57db73 Delete LogEntries older than a month
They are useful for troubleshooting but a month data seems enough.
2020-04-29 16:49:43 +02:00
Pau Perez
5f84c51c13 Delete StateChanges older than a month
They are useful for troubleshooting but a month data seems enough.
2020-04-29 16:49:43 +02:00
Pau Perez
be123b2a72 Specify how much data to remove in :truncate_data 2020-04-29 16:49:43 +02:00
Pau Perez
60d29d619f Replace :truncate_data definition with new class
And cover it with a test.
2020-04-29 16:49:43 +02:00
Pau Perez
78fd785f0c Extract TruncateData out of :truncate_data task 2020-04-29 16:49:43 +02:00
Maikel Linke
f8803888f2 Update Rubocop config to pass local run 2019-11-08 19:08:36 +11:00
Maikel
14f67053c8 Merge pull request #4400 from coopdevs/task-to-remove-enterprise-limit
Task to remove limit of ent. that can be created
2019-11-01 15:57:12 +11:00
Pau Perez
80edfe469c Task to remove limit of ent. that can be created
It does so by updating a user's enterprise_limit attribute to the
maximum integer the database supports.

This is used at least in Katuma to remove the limitation of the number
of enterprises a user can create. This is the agreement the community
reached for the pricing plans.

Eventually, this logic could be triggered with a button from the UI but
for now this is for internal usage only.
2019-10-24 15:53:43 +02:00
Pau Perez
b2616d317f Task to remove an unused enterprise
Note this task is still rather naive and only covers the simple case
where an enterprise was created but never used and thus, does not have
any associated entities like orders.

This is enough for the case I have at hand where a hub's manager created
an enterprise while he wanted to create a user account #ux. He ended up
with an enterprise named after him and now he asked us to clean that up.
2019-10-24 15:23:54 +02:00