Commit Graph

64 Commits

Author SHA1 Message Date
Jean-Baptiste Bellet
28fe479f53 Unhide on_demand & on_hand columns by default
+ update specs as well
2023-07-21 09:27:07 +02:00
Maikel
a7915b8089 Merge pull request #10849 from mkllnk/report-cable
Show "loading" screen for background reports and display when ready
2023-06-26 10:25:48 +10:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
Maikel Linke
c2605b2606 Display loading spinner before quick reports
We had a race condition that could first display the report and then
replace it again with the "loading" spinner. That doesn't seem to happen
now that we changed the order of cable events.
2023-06-14 15:40:52 +10:00
Mohamed ABDELLANI
bd0e7cdfc8 remove legacy checkout tests 2023-06-13 14:58:16 +01:00
Maikel Linke
ec865627d2 Wait for page setup to avoid flaky spec
I'm hiding a real bug here. There's a race condition when the cable event of
the finished report is sent before the loading spinner rendered. The
spinner then overwrites the report again. I added a spec for that but
don't have a solution yet.

I also noticed that the loading spinner is not displayed in testing but
we can assert on the CSS class of the container.
2023-06-09 16:22:01 +10:00
Matt-Yorkley
7caf4b03d4 Improve flakyness on report specs 2023-06-09 14:44:53 +10:00
Matt-Yorkley
b230b37284 Update report email spec 2023-06-09 14:44:53 +10:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Maikel Linke
5ae04a5a3e Hide report link which only works at unknown time
It was bad UX to show a link that doesn't work straight away. At the
time, it was the only way to download the report but now we send an
email which is a much better way to go.

I leave the rest of the code because we want to implement a reflex which
shows the download link once it's ready.
2023-05-15 19:41:45 +02:00
Maikel Linke
299bc253a4 Expire report download links in a month, not 5mins 2023-05-15 19:41:45 +02:00
Maikel Linke
860fe85af9 Add report download link to email notification
I added a system spec to verify that the download link can be generated
within the mailer in a background job. ActiveStorage is a bit particular
when it comes to genererating URLs and depending on the situation it may
generate a redirect URL, a proxy URL or link directly to the storage.
But we want a redirect URL here.
2023-05-15 19:41:45 +02:00
Maikel Linke
630169f8bb Preserve encoding of stored reports
Active Storage reads stored strings as ASCII and that can clash with
Rails' default UTF-8 encoding when special characters are present.
2023-04-28 16:38:06 +10:00
Filipe
f206b7ed9e Merge pull request #10661 from mkllnk/report-download
[Hidden] Provide download link for reports generated in the background
2023-04-19 11:53:14 +01:00
Maikel Linke
5c6d9a092e Simplify login spec helpers, avoid long lines
The `login_as_admin_and_visit` helper was used a lot but isn't really
shorter than:

    login_as_admin
    visit path_visit

Calling those methods separately reduces line length. It also removes
the potential impression that it may be more efficient to use the
helper. Now we have less indirection if one of the calls fails and see
the failing spec line straight away.
2023-04-17 11:08:32 +10:00
Maikel Linke
8d500a2c27 Remove superflouous login test helper
It was often used with a `visit` statement after which resulted in
unnecessary page loads. There was only one case where a `visit` was
expected but it wasn't needed either.
2023-04-17 10:56:51 +10:00
Maikel Linke
98e4f867b4 Provide download link for generated reports 2023-04-14 11:29:35 +10:00
Maikel Linke
30184ac6aa Background reports time out earlier than nginx
This allows us to display a friendly message before nginx displays its
default error.
2023-04-11 16:44:13 +10:00
Maikel Linke
020af0c0e4 Explain report timeout better to user 2023-04-05 09:59:02 +10:00
Maikel Linke
00a3976905 Display a friendly message when a report times out
Once we get a download link for a report, we can display this message
sooner. But for now we just use the existing request timeout.
2023-04-04 11:08:20 +10:00
Maikel Linke
78fea7c7f2 Run background reports with Sidekiq, not fork
Forking worked in theory but crashed the browser in system specs. It
also came with many other hurdles and isn't well known solution in the
Rails community. Sidekiq can give us better control over execution
limits as well.
2023-03-27 13:27:49 +11:00
Maikel Linke
cb64361096 Remove old feature spec tag
Nowadays all system specs are run in a real browser.
2023-02-24 15:10:19 +11:00
cyrillefr
f6f62515b5 Remove I18n keys in system admin specs 2023-02-16 14:33:09 +01:00
Mohamed ABDELLANI
500c23ce27 fix failing tests after replacing "" with none 2022-12-05 10:03:56 +01:00
Jean-Baptiste Bellet
6dec80aaaf Links only on right side 2022-10-24 11:12:22 +02:00
Jean-Baptiste Bellet
02787e668f Remove report_inverse_columns_logic feature toggle
Co-Authored-By: Maikel <maikel@email.org.au>
2022-10-24 11:12:22 +02:00
Maikel Linke
1137e6890b Supply feature mock with default value
Otherwise Rspec complains about receiving another argument which is not
the one we defined here before.
2022-10-08 16:23:17 +02:00
filipefurtad0
e00a59212c Fixes invert columns logic on reports spec 2022-09-28 11:49:20 +01:00
filipefurtad0
8b146fc72a Adds included_in_price trait on broken specs 2022-08-05 16:41:35 +01:00
filipefurtad0
e44845c327 Creates system spec for orders and fulfilment report; adds existing test cases to this file 2022-07-04 11:08:54 +01:00
filipefurtad0
c8cab86b0c Stubs order and adds assertions 2022-07-04 11:07:00 +01:00
Maikel
165456b8c8 Merge pull request #9229 from mkllnk/report-currency-formatting
Format money amounts in report spreadsheets as numbers
2022-06-23 12:18:02 +10:00
Maikel Linke
e37ec4b552 Avoid auto-formatting currencies
Each report can define formats for each column. But currency formatting
was also applied to all columns that had "price" in the name. Removing
this automation gives us more control and we can decide for each case.

At the moment, the currency formatting in Excel spreadsheets is not
ideal and it's easier to keep it as number.

This PR introduces a visual regression as prices are not formatted as
nicely but the columns can be used in calculations.
2022-06-20 13:18:41 +10:00
Jean-Baptiste Bellet
8ba8a95eb7 Convert key to sym, as it could be a string (in case of dynamic header)
ie. the tax rate

Update specs to check this case when feature toggle is activated or not
2022-06-14 15:39:06 +02:00
Jean-Baptiste Bellet
7920c1c4e8 Update Customers reports spec for feature report_inverse_columns_logic 2022-06-13 14:39:12 +02:00
Sebastian Castro
89212736e9 Reports fix formatting cells 2022-05-12 16:54:14 +02:00
Sebastian Castro
8a943f50ef Reports: Format cells for html, pdf, and spreadsheet
Currency, number format, dates
2022-05-12 16:54:14 +02:00
Sebastian Castro
cd30012334 Report Refactor 3: Xero Invoices
This one as actually not really been refactored, too much work to rewrite it so I just encapsulated the result within the new methods definitions
2022-05-12 16:54:14 +02:00
Sebastian Castro
71aca960ee Report Refactor 3: Order Cycle Management 2022-05-12 16:54:13 +02:00
Sebastian Castro
944d40e093 Report Refactor 3: BulkCoop 2022-05-12 16:54:13 +02:00
Sebastian Castro
287e8f5845 Reports Refactor 3
Easily group and create header and summary row
Auto format cells when appropriate type (boolean, dates) and render_format (neither csv nor json)
2022-05-12 16:54:13 +02:00
Sebastian Castro
452a3fa933 Reports Refactor 2: Merge Spree::reports into Admin::Reports 2022-05-12 16:54:13 +02:00
Sebastian Castro
2985d2af15 Report Refactor 1 Cleaning
clean no longer used methods
Remove no longer needed require
Delete files not used
Fix Linting
2022-05-12 16:54:13 +02:00
Sebastian Castro
e9513f6172 Report Refactor 1: Enterprise Fee Summary
Disable enterprise fee summary spec for now

Will need to write them again
2022-05-12 16:54:13 +02:00
Sebastian Castro
4a99a7d1de Report Refactor 1: Xero Invoices 2022-05-12 16:54:13 +02:00
Sebastian Castro
41c11baa3f Report Refactor 1: Users & Entreprises 2022-05-12 16:54:13 +02:00
Sebastian Castro
3d1b61ae6e Report Refactor 1: Products & Inventory 2022-05-12 16:54:13 +02:00
Sebastian Castro
881a708ecf Report Refactor 1: Payments 2022-05-12 16:54:13 +02:00
Sebastian Castro
9d943625a3 Report Refactor 1: Sales Tax 2022-05-12 16:54:13 +02:00