Neal Chambers
a97e208881
Safely autocorrect Layout/MultilineBlockLayout
...
Inspecting 1479 files
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Offenses:
engines/order_management/app/services/order_management/subscriptions/validator.rb:101:9: C: [Corrected] Layout/IndentationWidth: Use 2 (not 12) spaces for indentation.
sli.quantity > 0 && !sli.marked_for_destruction?
^^^^^^^^^^^^
engines/order_management/app/services/order_management/subscriptions/validator.rb:101:11: C: [Corrected] Layout/MultilineBlockLayout: Block argument expression is not on the same line as the block start.
|sli| sli.quantity > 0 && !sli.marked_for_destruction?
^^^^^
1479 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-27 09:58:05 +10:00
Maikel Linke
54f39668ba
Remove unused, outdated dependency declarations
...
The Gemfile of the main app is used.
2023-07-21 14:13:27 +10:00
Maikel Linke
a01aa8849c
Add Ruby version to engines for Rubocop
...
> This ensures that RuboCop is using the same Ruby version as the gem.
https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Gemspec/RequiredRubyVersion
2023-07-21 14:13:26 +10:00
Maikel Linke
9183c8acdd
Deal with bad SuppliedProduct data
2023-07-03 14:17:18 +10:00
Maikel Linke
18bcc179ef
Clarify request body required to create product
...
We have to work around an Rswag limitation here. But I think that this
version is clearer on the spec.
2023-07-03 14:17:18 +10:00
Maikel Linke
d5c41980d6
Document example for updating SuppliedProduct
2023-07-03 13:44:57 +10:00
Maikel Linke
7dc6cb151d
Include DFC context in spec example
...
The DFC Prototype does include the context while the output of the DFC
Connector refers to the URL of the published context. While that's more
efficient, it's also brittle because the context is updated from time to
time. That happened three days ago and working with the newly published
context breaks our integration until we get an updated version of the
DFC Connector containing the new URLs for datatypes.
2023-07-03 13:27:24 +10:00
Maikel Linke
7b9e4f6914
Move test files to own directory
2023-07-03 13:25:55 +10:00
Maikel Linke
811740c361
Correct OFN session cookie name
...
And improve the documentation in general.
2023-07-03 13:25:55 +10:00
Maikel Linke
7a51995aeb
Respond with SuppliedProduct data when creating
2023-07-03 12:37:23 +10:00
Maikel Linke
5a4efdbce3
Separate DFC API swagger config
...
This allows us to run the specs separately to generate the
documentation. It's more efficient this way and the separate swagger doc
file is easier to read.
The engine-specific swagger helper also allows us to simplify the spec
files.
Added an exception to our styleguide because it's intended and useful to
have a complete (lengthy) description of the API in one block.
2023-07-03 12:37:23 +10:00
Maikel
400d087789
Merge pull request #11133 from mkllnk/dfc-api-specs
...
OFN DFC API documenation in OpenAPI format generated with Rswag
2023-07-03 10:53:40 +10:00
Filipe
54a85a504d
Merge pull request #11101 from mkllnk/dfc-api-key
...
Allow access to DFC API with OFN API token
2023-06-29 17:20:21 +01:00
Maikel Linke
78d6d129e8
Simplify with extracted helper method
2023-06-28 14:11:50 +10:00
Maikel Linke
d21e6f99bb
Swaggerise CatalogItems spec
2023-06-28 14:11:50 +10:00
Maikel Linke
883e637545
Create deterministic test data for stable API docs
...
Otherwise the auto-generated Swagger file changes all the time without
code changes.
2023-06-28 13:50:54 +10:00
Maikel Linke
df29eaab98
Document DFC example body to create a product
2023-06-28 13:50:54 +10:00
Maikel Linke
db77d1591c
Add test examples to DFC API documentation
...
In other API specs, you provide example values in the schema. So the
specs contain examples which can be used for the documentation. But
instead of defining example data separately, we can use the generated
data by the specs. This way we document real output and don't have to
double up on documentation.
Note that we don't have schema definitions for the DFC API yet. And it
wouldn't make sense to replicate the DFC Ontology manually in JSON
Schema for this purpose. The DFC Connector ensures already that we
comply with the ontology. But I hope that we can use a tool at some
point to generate JSON Schema from the DFC Ontology which would add more
detail to the Swagger docs, I think.
2023-06-28 13:50:54 +10:00
Maikel Linke
b14c9bdf4c
Swaggerize SuppliedProduct spec
2023-06-28 13:50:54 +10:00
Maikel Linke
f0a5475563
Swaggerize Enterprise spec
2023-06-28 13:50:54 +10:00
Maikel Linke
494c5e78de
Swaggerize Person spec
...
I chose the simplest spec first to demonstrate how it works. The UI at
/api-docs now shows this endpoint with two possible responses.
The docs are missing an example response which I hope to add later.
2023-06-28 13:50:54 +10:00
Maikel
014fb69d4b
Merge pull request #10964 from macanudo527/fix_linelength_bundle1
...
Fix Layout/LineLength - Bundle 1
2023-06-26 12:10:39 +10:00
Maikel
e065910d2d
Merge pull request #10939 from Matt-Yorkley/master-variants
...
Remove master variants
2023-06-23 13:42:58 +10:00
Neal Chambers
1e4034534c
Fix Layout/LineLength
2023-06-23 09:08:04 +09: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
a9f8c7c4ab
Update DFC API docs, describe all endpoints
2023-06-19 16:20:35 +10:00
Maikel Linke
ec8c710e3a
Import simple DFC SuppliedProduct
...
OFN products and variants need more data like a price but the DFC
stores that in a different object. We may get a larger graph containing
that information but we don't have any test data yet.
2023-06-19 16:19:48 +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
15dd38d6c6
Import simple data from DFC
2023-06-19 16:16:18 +10:00
Matt-Yorkley
1daab8994d
Remove is_master and not_master scopes
2023-06-16 21:23:44 +01:00
Matt-Yorkley
3ef7d2c9ff
Remove master variant from product
2023-06-16 21:23:44 +01:00
Matt-Yorkley
a20277c3a7
Completely remove option_values and option_types from the codebase
2023-06-01 10:12:19 +01:00
Maikel Linke
0dcd87dda9
Update stock and SKU from DFC
...
The input has been observed with the nginx access log including
$request_body when the DFC Protoype pushed an update.
2023-05-28 10:39:08 +02:00
Maikel Linke
375b3a3cb0
Update variant's quantity from DFC
2023-05-28 10:39:08 +02:00
Maikel Linke
48a52582e6
Update variant description with DFC description
...
We used the name before because the DFC Prototype only displays the
description.
2023-05-28 10:39:08 +02:00
Maikel Linke
63837381e0
Update DFC test data with observation
...
This request came from the current DFC prototype. The changes are
probably implementing DFC v1.7.
I observed by including `$request_body` in the nginx log on the staging
server.
2023-05-28 10:39:08 +02:00
Maikel Linke
50ef06c973
Name DFC test data to clarify content
...
The DFC has several products like PhysicalProduct and SuppliedProduct.
Here we have a supplied product.
2023-05-28 10:39:08 +02:00
Maikel Linke
7344eb678b
Remove now unused helper
...
It was only used in controller specs which were all converted to request
specs.
2023-05-28 10:39:08 +02:00
Maikel Linke
dde4ea9334
Convert CatalogItems controller spec to request spec
2023-05-28 10:39:08 +02:00
Maikel Linke
207a15e55c
Convert SuppliedProducts controller spec to request spec
2023-05-28 10:39:08 +02:00
Maikel Linke
742468efd2
Convert EnterpriseController spec to request spec
...
Also testing request of unrelated enterprise instead of non-existing
enterprise because authorisation is important to test.
2023-05-28 10:39:08 +02:00
Maikel Linke
d338c61d2c
Convert PersonsController spec request spec
...
It's much more realistic and also tests the routing and authentication.
Besides using real authentication I also improved the matchers.
2023-05-28 10:39:08 +02:00
Maikel Linke
6596225a99
Fix typo in VCR cassette name
2023-05-12 14:48:00 +10:00
Maikel Linke
3c6f55732d
Add dummy product type to DFC export
2023-05-09 17:01:00 +10:00
Maikel Linke
b2e8af0cd1
Add stock to DFC Offer as well
2023-05-09 16:51:26 +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
80edc44ef5
Replace SuppliedProductSerializer with DFC Connector
...
And remove the BaseSerializer because this was the last serializer.
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