Commit Graph

40 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
f76bdf0c6f Fix rubocop warning 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
12c6257a0f Pass the image url to DfcProvider::SuppliedProduct 2023-11-08 13:57:35 +11:00
Maikel Linke
2175c59a6b Load spec helper not knowing Rails
When the application is not preloaded then running Rspec doesn't know
Rails until the spec helper is loaded. So we can't use Rails to find the
path of the spec helper. This has been fixed before but the DFC Address
code was developed at the same time and missed.
2023-09-21 08:54:32 +10:00
Neal Chambers
bf9db13bb3 Fix Style/HashSyntax 2023-09-14 16:25:49 +09:00
Maikel Linke
df3fc83c8e Remove version from DFC API URL in specs
We were aiming to use stable URLs to identify resources but the URL
helpers were still using dfc-v1.7 because that was the last and
overriding path of the mounted DFC Provider engine.
2023-09-11 15:00:08 +10:00
Maikel Linke
191c4a79db Load spec helpers before Rails is loaded
Using Spring was hiding an loading error. When you start Rspec, Rails
and its engines are not loaded yet. So our way to load the spec helper
via `Rails.root` did not work when you ran specs on their own without
loading Rails with Spring first.
2023-09-11 14:57:38 +10:00
Maikel
1991970185 Merge pull request #11377 from mkllnk/dfc-update-request
[DFC API] Import known units when creating new products
2023-09-08 09:05:26 +10:00
Maikel Linke
514b8fa6ab Import DFC unit labels like bunch and jar 2023-08-31 16:27:55 +10:00
Maikel Linke
50f7177a38 Use existing service to label weight&volume units
We still have the scale stored in two places but in our current system
that's part of a unit's "id".

If the DFC adds that value to its standard then we can use it for lookup
and don't need to repeat it.

* https://github.com/datafoodconsortium/taxonomies/issues/7
2023-08-31 09:48:24 +10:00
Maikel Linke
0da1b27795 Simplify code with association #supplied_variants
Rails makes it so easy.
2023-08-30 15:55:10 +10:00
Maikel Linke
f96ab7c432 Import DFC bundle units like dozen or 6 pack 2023-08-28 17:13:04 +10:00
Maikel Linke
43346e2671 Import imperial DFC units 2023-08-28 17:13:04 +10:00
Maikel Linke
9ddf536fa3 Import DFC milligram 2023-08-28 17:13:04 +10:00
Maikel Linke
5a8d95c443 Import DFC kilogram 2023-08-28 17:13:04 +10:00
Maikel Linke
996f3bb235 Spec current quantity unit conversion 2023-08-28 17:13:04 +10:00
Maikel Linke
20b09b5352 Add DFC Address API endpoint 2023-08-24 16:20:13 +10:00
Gaetan Craig-Riou
a8d15154a2 Link address to enterprise
+ spec
2023-08-24 15:55:15 +10:00
Gaetan Craig-Riou
86bb77ab9f Add AddressBuilder
It will let us include address in the various DFC API endpoint
2023-08-24 15:55:15 +10:00
Maikel Linke
244b9abd21 Spec with given data included in examples
And use in-memory data where possible to speed up specs.
2023-08-24 15:55:14 +10:00
Maikel Linke
5d05c3c0f1 DRY DFC enterprise spec 2023-08-24 15:55:14 +10:00
Gaetan Craig-Riou
18565f4a85 Add all the enterpise attributes supported by DFC connector 2023-08-24 15:55:14 +10:00
Maikel Linke
f96636072e Use original DFC Connector.export implementation
We wanted to use our own context before but now I found a better way for
the connector to cache the context and therfore we can use the original
implementation again.
2023-08-03 16:45:31 +10:00
Maikel Linke
3b5b9ec54d Avoid network request to DFC context on export
This protects us from the DFC website going down or the DFC updating
the context with breaking changes. We are in control of updating the
context now (opt-in to newer versions).
2023-07-27 15:38:36 +10:00
Maikel Linke
08a06d21fa Allow access to DFC API with OFN API token 2023-06-22 16:58:12 +10:00
Maikel Linke
82fc6a2a9d Prepare spec to authenticate with other means
I want to add OFN API key support.
2023-06-22 16:27:04 +10:00
Maikel Linke
df9e1ac2b4 Encapsulate SuppliedProductBuilder
And improve EnterpriseBuilder. It was builder products twice.
2023-06-19 16:19:48 +10:00
Maikel Linke
3c6f55732d Add dummy product type to DFC export 2023-05-09 17:01:00 +10:00
Maikel Linke
54137067dd Export variant's display_name if present
The `#name` method is simply delegated to a variant's product.
2023-05-09 16:51:26 +10:00
Maikel Linke
0c5ab783ca Update DFC API route to reflect Connector version 2023-05-09 16:51:26 +10:00
Maikel Linke
0b808a4b1e Add product quantity to DFC export 2023-05-09 16:51:26 +10:00
Maikel Linke
1e23cf1c92 Replace EnterpriseSerializer with DFC Connector
And move same test coverage to a new builder spec.
2023-05-09 16:51:26 +10:00
Maikel Linke
78cf3b5a1d Serialize DFC catalog item with DFC Connector
This is work in progress. The DFC Connector uses a more recent DFC
version and other endpoints still use the old serializers. We need to
update those endpoints as well and update the version number in the API
URL.
2023-05-09 16:51:25 +10:00
Maikel Linke
5187201796 Add DFC vocabularies
- Add a script for downloading updated files.
- Add a service for easier loading of vocab files.
2023-05-09 16:51:25 +10:00
Maikel Linke
2105c0d0ea Ignore master variants exporting to DFC 2023-03-14 14:38:24 +11:00
Maikel Linke
6e514acc77 Spec too many variants exported to DFC 2023-03-14 14:38:24 +11:00
Maikel Linke
b8338fb9af Removing engine namespace from services
Services are usually not namespaced because they are part of the app.
This engine has an isolated namespace which means that we don't need to
separate with out own namespacing here.
2023-03-14 13:49:21 +11:00
David Cook
7b965718aa Authorise based on user's UID
And test to make sure the wrong user is not selected.
2022-11-25 16:14:25 +11:00
David Cook
61e7b59437 Refactor spec
Ready to expand in the next commit.
2022-11-25 16:14:20 +11:00
Maikel Linke
029c0afaa9 Verify token signature for authenticated login
We were just logging in any user without password or other verification
before. Now we verify the Keycloak signature and know that the person is
indeed logged in.
2022-11-25 14:49:36 +11:00
Maikel Linke
8d6615aa6b Start to spec DFC auth control 2022-11-25 14:49:36 +11:00