Commit Graph

544 Commits

Author SHA1 Message Date
filipefurtad0
f7c47fecc4 Removes the need for using overlapping_elements_helper
Improves the specs so we don't need to recurr to overlapping elements clicks, and removes the respective helper
2024-07-11 10:58:57 +10:00
Gaetan Craig-Riou
cfc51f399f More rebase fix 2024-07-03 13:07:17 +10:00
Gaetan Craig-Riou
61750c51b3 Fix enterprise system spec 2024-07-03 11:15:10 +10:00
filipefurtad0
5cf8eb5efc Extracts helper methods into helper file
The idea is to split the main spec into several smaller ones; these would share the helper file
2024-07-02 16:45:46 +10:00
filipefurtad0
0a4c2a1903 Updates tom_select_helper.rb with the recent changes from master 2024-07-01 12:24:00 +10:00
filipefurtad0
8b036e5108 Removes search block - covered already a few lines below
under _describe search_ block
2024-07-01 12:23:52 +10:00
filipefurtad0
5af5eb7ecf Replaces all with find, within tom_select helper method
Moves existing tom select helper methods into separate file
2024-07-01 12:09:14 +10:00
filipefurtad0
289414a504 Adds tests around product creation
Introduces a tom-select helper file
2024-07-01 12:09:14 +10:00
filipefurtad0
7303c40c92 Introduces helper to deal with overlapping elements
Fixes overlapping elements
2024-07-01 12:09:14 +10:00
filipefurtad0
308c559810 Fixes case on assertions, on failing specs
Selects white_label tab with trigger(click)

Scrolling down did no fix it, it still fails https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/6526149195/job/17719815533?pr=11645, selecting the element with trigger(click) should work

Updates invoice tests
2024-07-01 12:09:14 +10:00
Maikel Linke
b117fd03da Simplify spec checking for disabled button 2024-06-28 08:42:24 +10:00
Gaetan Craig-Riou
74fb6c3143 Disable GO button once clicked
It is disabled both on client side and server side, so even if the
server takes a while to respond the button is disabled
2024-06-26 16:01:05 +10:00
Ahmed Ejaz
98e0b0e703 12346 - fix rubocop rails/pluck errors 2024-06-22 01:45:58 +05:00
David Cook
2676891322 Merge pull request #12546 from dacook/buu/change-columns-11055
[BUU] Change product columns to be shown
2024-06-19 09:25:47 +10:00
David Cook
8c75e6baa8 Make column selector a dropdown
With some styling tweaks.
2024-06-13 10:07:55 +10:00
Maikel
5b95ef3bd9 Merge pull request #12525 from mkllnk/fdc-import
Add compatibility to the DFC product import for FDC (Shopify) API
2024-06-13 09:51:05 +10:00
zanetagebka
a2a670c848 Fix cops StringConcatenation 2024-06-11 15:17:32 +10:00
Maikel Linke
1f00662709 Add service to access FDC API
The current implementation of the FDC is not adhering to the DFC
standard. The difference is added in this compatibility layer.

This should be temporary code. The FDC dev team should change their API
in their next development cycle.
2024-05-28 17:00:06 +10:00
Gaetan Craig-Riou
1fde91e6ff Update Webmock and VCR config as per Knapsack recommendation
See : https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md#720
2024-05-15 10:07:40 +10:00
Maikel Linke
5f07a7f390 Check for asset compilation before each spec file
The KnapsackPro queue mode can't predict which specs it will run. So we
need to check on each file (top-level describe block) which type of spec
it is and if we need to compile assets for it.

Old versions of KnapsackPro would execute the `before(:suite)` hooks on
every batch, but now it's only run once. With this change, we do the
same as before.
2024-05-08 13:36:41 +10:00
Ahmed Ejaz
b1f20ffc14 11060: create tomselect helper module 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f07900ca4a 11060: refactor specs to have better separation of concerns 2024-05-07 14:59:14 +02:00
filipefurtad0
0f80aca675 Updates checkout tests
Adds out of stock check as helper
2024-04-30 12:23:39 +01:00
cyrillefr
84747ea064 Fix Rails::NegateInclude issues
- cop class: RuboCop::Cop::Rails::NegateInclude
 -  replaced !array.include?(2) by array.exclude?(2)
2024-04-04 14:42:42 +02:00
Maikel Linke
2e101c5fe6 Refresh OIDC token and try again
Access tokens are only valid for half an hour. So if requesting a DFC
API fails, it's likely due to an expired token and we refresh it.
2024-03-15 16:46:41 +11:00
Maikel
331894017a Merge pull request #12252 from filipefurtad0/bump_stripe_10.11.0
Bumps Stripe from 10.10.0 to 10.11.0
2024-03-12 13:55:13 +11:00
Gaetan Craig-Riou
a33eb80f56 Fix filtering of sensible data
* Hide Stripe Client User Agent header, it contains the hostname of
the machine generating the cassettes
* Hide client_secret
2024-03-12 12:17:15 +11:00
Gaetan Craig-Riou
ff52a66e75 Merge pull request #12250 from mkllnk/not-to-not
Enforce RSpec expect(..).not_to over to_not
2024-03-12 10:35:16 +11:00
Filipe
9abaf90907 Merge pull request #12233 from dacook/buu/unit-scale-basic-12005
[BUU] Unit Scale - basic implementation
2024-03-07 17:20:45 +00:00
filipefurtad0
5653d542f6 Hides sensitive data 2024-03-07 15:15:18 +00:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
David Cook
822054b748 Use capybara helper to find field
This is more flexible and can find a field based on name, id or aria-label
2024-03-06 13:41:22 +11:00
David Cook
ea0967e22e Safely autocorrect Capybara/NegationMatcher 2024-03-06 09:20:22 +11:00
Maikel Linke
60b86e1d64 Replace custom query counter with new gem rspec-sql 2024-03-01 11:44:25 +11:00
Gaetan Craig-Riou
62fbaa8a6e Update Stripe payment intents decorator
- copied the relevant code from the new Active Merchant version
- Add spec to cover the scenario of saving a card when paying by card
- Fix Stripe stub.

I used stripe stubs for the new scenario because storing a card on
stripe depends on some client side interaction with Stripe. We can't
capture that with VCR.
2024-02-19 10:53:53 +11:00
David Cook
c2f8786ffa Filter out STRIPE_INSTANCE_SECRET_KEY from cassettes
And also STRIPE_ENDPOINT_SECRET just in case it's ever used in tests.

Re-records Stripe tests. But some failed... :'(

Failed examples:

rspec ./spec/lib/stripe/credit_card_cloner_spec.rb:71 # Stripe::CreditCardCloner#find_or_clone when called with a valid customer and payment_method clones both the payment method and the customer
rspec ./spec/lib/stripe/payment_intent_validator_spec.rb[1:1:1:1:17:1:2] # Stripe::PaymentIntentValidator#call when payment intent is valid valid non-3D credit cards are correctly handled behaves like payments intents from UnionPay (debit) captures the payment
2024-02-08 14:58:24 +00:00
David Cook
c3914bc7ae Merge pull request #11759 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.3.1
chore(deps): bump tom-select from 2.2.3 to 2.3.1
2024-01-25 16:26:10 +11:00
Konrad
ec4bbe6241 Merge pull request #12038 from mkllnk/dfc-tax-category
Spec requiring tax category when creating products
2024-01-24 16:26:57 +01:00
Gaetan Craig-Riou
98545741e6 Add tomselect_select helper
When using `tomselect_search_and_select` and searching isn't really
required it leaves the dropdown option open. It can then cause problem
when trying to interact with other element in the page. This happens
because clicking on the chosen option happena before the searching
finishes.
We can now use `tomselect_select` when searching is not actually
required.
It should not be a problem when search is required, as capybara will
wait for the option to appear on the page before clicking.
2024-01-24 14:47:21 +11:00
Gaetan Craig-Riou
270a310e0f Use send_keys to populate tom select input
Setting the value directly doesn't trigger the search, presumably
because it doesn't trigger any javascript event.
2024-01-23 11:52:01 +11:00
David Cook
40166bf3e8 Update spec/support/vcr_setup.rb
Co-authored-by: Maikel <maikel@email.org.au>
2024-01-19 09:55:39 +11:00
David Cook
df82db9a95 Fix Layout/LineLength 2024-01-19 09:24:30 +11:00
David Cook
6e522cb055 Filter out Stripe client_id 2024-01-18 12:47:02 +11:00
David Cook
ccf0e78b91 Refactor
It's not as beautiful as I hoped, but it enforces the rule. Am I going too far? Probably.
2024-01-18 12:26:21 +11:00
David Cook
a2436e9a1a Rename hidden keys
If they follow a rule, it reduces indirection and makes it easier to manage, I reckon.
2024-01-18 12:14:07 +11:00
Maikel Linke
ad26a006e2 Remove unnecessary spec helper module
These shared examples were used in only one spec file. It's much easier
to read having all the related specs in one file instead of hiding some
in a helper module.

It's also one less file to load whenever we run specs.
2024-01-12 17:18:07 +11:00
Maikel Linke
c5b64e875f Remove unnecessary spec helper
Best viewed ignoring whitespaces.

Products don't require a tax category by default. And when you activate
it via Spree::Config then it's automatically reset at the end of the spec.
We don't need this helper to do it.
2024-01-12 17:12:40 +11:00
Maikel Linke
2699ae6ca7 DRY terms of service PDF file use in specs 2024-01-08 13:01:21 +11:00
Maikel Linke
dd639435f1 Remove unnecessary image file helper 2024-01-08 13:01:21 +11:00
Maikel Linke
6327f46733 Use fixture_file_upload helper where possible
We can't use it in factories but in other places it's a nice shortcut.
2024-01-08 11:32:01 +11:00