diff --git a/docs-kits/kits/Demand and Capacity Management Kit/changelog.md b/docs-kits/kits/Demand and Capacity Management Kit/changelog.md index 63ae0f8a4e34..669207fe7c88 100644 --- a/docs-kits/kits/Demand and Capacity Management Kit/changelog.md +++ b/docs-kits/kits/Demand and Capacity Management Kit/changelog.md @@ -12,6 +12,17 @@ toc_max_heading_level: 2 All notable changes to this Kit will be documented in this file. +## [1.3.0] - 2025-03-03 + +### Added + +- Added additional E2E Tests to [Development View](./development-view/overview.md) + +### Changed + +- Updated [Test - Customer](./development-view/test-customer.md) to improve readability +- Updated [Test - Supplier](./development-view/test-supplier.md) to improve readability + ## [1.2.0] - 2024-12-02 ### Added diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md index 3f2d2375ffad..483389c88077 100644 --- a/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md @@ -169,10 +169,10 @@ It is recommended to compartmentalize tests into test-sets from which different |#|User Journey|Test-Sets|Tested Capabilities| |--|--|--|--| -|1|Base journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand
- Customer: Provide IdBasedRequestForUpdate
- Supplier: Consume IdBasedRequestForUpdate
- Supplier: Provide IdBasedRequestForUpdate
- Customer: Consume IdBasedRequestForUpdate
- Customer: Create IdBasedComment
- Customer: Provide IdBasedComment
- Supplier: Consume IdBasedComment
- Supplier: Create IdBasedComment
- Supplier: Provide IdBasedComment
- Customer: Consume IdBasedComment
- Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand
- Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Request for update
- Comments| -|2|Demand volatility metrics journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Demand volatility metrics| -|3|Simulated delta production journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Simulated delta production| -|4|Load factors journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Load factors| +|1|[Base journey](#base-journey)|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand
- Customer: Provide IdBasedRequestForUpdate
- Supplier: Consume IdBasedRequestForUpdate
- Supplier: Provide IdBasedRequestForUpdate
- Customer: Consume IdBasedRequestForUpdate
- Customer: Create IdBasedComment
- Customer: Provide IdBasedComment
- Supplier: Consume IdBasedComment
- Supplier: Create IdBasedComment
- Supplier: Provide IdBasedComment
- Customer: Consume IdBasedComment
- Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand
- Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Request for update
- Comments| +|2|[Demand volatility metrics journey](#demand-volatility-metrics-journey)|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Demand volatility metrics| +|3|[Simulated delta production journey](#simulated-delta-production-journey)|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Simulated delta production| +|4|[Load factors journey](#load-factors-journey)|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Load factors| #### Base Journey @@ -248,6 +248,132 @@ rect rgb(57,57,57) end ``` +#### Demand Volatility Metrics Journey + +``` mermaid +sequenceDiagram +actor c as Customer +actor s as Supplier +rect rgb(57,57,57) + note right of c: Prepare for E2E test + c->>c: Check EDC + c->>c: Check Data Assets + c->>c: Check Wallet + s->>s: Check EDC + s->>s: Check Data Assets + s->>s: Check Wallet +end +rect rgb(221,130,0) +autonumber 1 + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer ALPHA containing MaterialDemand ALPHA_v1 + s->>c: HTTP 200 OK + c->>s: FileTransfer BETA containing MaterialDemand ALPHA_v2 + s->>c: HTTP 200 OK +end +rect rgb(128,149,0) + note right of c: Transfer WeekBasedCapacityGroup + s->>c: FileTransfer GAMMA containing CapacityGroup ALPHA + c->>s: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 7 + s->>s: Visualize bottleneck calculation +end +rect rgb(221,130,0) + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer DELTA containing MaterialDemand ALPHA_v3 + s->>c: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 10 + s->>s: Visualize bottleneck calculation +end +rect rgb(221,130,0) + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer EPSILON containing MaterialDemand ALPHA_v4 + s->>c: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 13 + s->>s: Visualize bottleneck calculation +end +``` + +#### Simulated Delta Production Journey + +``` mermaid +sequenceDiagram +actor c as Customer +actor s as Supplier +rect rgb(57,57,57) + note right of c: Prepare for E2E test + c->>c: Check EDC + c->>c: Check Data Assets + c->>c: Check Wallet + s->>s: Check EDC + s->>s: Check Data Assets + s->>s: Check Wallet +end +rect rgb(221,130,0) +autonumber 1 + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer ALPHA containing MaterialDemand ALPHA + s->>c: HTTP 200 OK +end +rect rgb(128,149,0) + note right of c: Transfer WeekBasedCapacityGroup + s->>c: FileTransfer BETA containing CapacityGroup ALPHA + c->>s: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 5 + s->>s: Visualize bottleneck calculation +end +``` + +#### Load Factors Journey + +``` mermaid +sequenceDiagram +actor c as Customer +actor s as Supplier +rect rgb(57,57,57) + note right of c: Prepare for E2E test + c->>c: Check EDC + c->>c: Check Data Assets + c->>c: Check Wallet + s->>s: Check EDC + s->>s: Check Data Assets + s->>s: Check Wallet +end +rect rgb(221,130,0) +autonumber 1 + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer ALPHA containing MaterialDemand ALPHA and BETA + s->>c: HTTP 200 OK +end +rect rgb(128,149,0) + note right of c: Transfer WeekBasedCapacityGroup + s->>c: FileTransfer BETA containing CapacityGroup ALPHA + c->>s: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 5 + s->>s: Visualize bottleneck calculation +end +``` + ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md index a7956c421c9c..0723a441acee 100644 --- a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md @@ -18,7 +18,8 @@ For an overview of these tests you should visit [Testing a DCM application](./ov ### Setup EDC -This test ensures that the customer sets up its EDC. +
+This test ensures that the customer sets up its EDC. ```cucumber Feature: Customer: Prepare yourself @@ -29,9 +30,12 @@ Scenario: Setup EDC Then I should confirm that I have setup my EDC in the correct version successfully ``` +
+ ### Register APIs as assets -This test ensures that the customer registers its API endpoints as data assets with its own EDC. +
+This test ensures that the customer registers its API endpoints as data assets with its own EDC. ```cucumber Feature: Customer: Prepare yourself @@ -48,9 +52,12 @@ Examples: | IdBasedComment API | cx-taxo:DcmIdBasedComment | 2.0 | ``` +
+ ### Check wallet for certificates -This test ensures that the customer has the necessary credentials in its wallet. +
+This test ensures that the customer has the necessary credentials in its wallet. ```cucumber Feature: Customer: Prepare yourself @@ -67,14 +74,17 @@ Examples: | DataExchangeGovernance:1.0 | DataExchangeGovernance:1.0 | ``` +
+ ### Prepare variables for other tests -This test ensures that the customer is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. +
+This test ensures that the customer is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. ```cucumber Feature: Customer: Prepare yourself - Scenario Outline: Prepare variables for other tests +Scenario Outline: Prepare variables for other tests Given I want to execute a that uses a I need to have a assigned to that makes sense in the context of the and use the value of the variable instead of its name when testing. When the test gets executed Then it should work as intended @@ -104,14 +114,17 @@ Examples: | Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment, Customer: Create IdBasedRequestForUpdate | OMITTED | {Special case where you do not include the property in the data at all. You do not even mention it.} | ``` +
+ ### Prepare for base journey -This test ensures that the customer is aware of the sequence of communication and naming conventions within the base journey. +
+This test ensures that the customer is aware of the sequence of communication and naming conventions within the base journey. ```cucumber Feature: Customer: Prepare yourself - Scenario Outline: Prepare for base journey +Scenario Outline: Prepare for base journey Given I want to execute the base journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the base journey successfully When the test gets executed Then it should work as intended @@ -144,207 +157,419 @@ Examples: | FT_kappa | A Filetransfer providing IdBasedComment for the customer to consume | Consume IdBasedComment for base journey | ``` + + +### Prepare for volatility metrics journey + +
+This test ensures that the customer is aware of the sequence of communication and naming conventions within the volatility metrics journey. + +```cucumber +Feature: Customer: Prepare yourself + +Scenario Outline: Prepare for volatility metrics journey + Given I want to execute the volatility metrics journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the volatility metrics journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha_v1 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v2 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Beta | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v3 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Delta | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v4 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Epsilon | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma | Consume WeekBasedCapacityGroup for volatility metrics journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey | +| FT_beta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey | +| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for volatility metrics journey | +| FT_delta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey | +| FT_epsilon | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey | +``` + + + +### Prepare for simulated delta production journey + +
+This test ensures that the customer is aware of the sequence of communication and naming conventions within the simulated delta production journey. + +```cucumber +Feature: Customer: Prepare yourself + +Scenario Outline: Prepare for simulated delta production journey + Given I want to execute the simulated delta production journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the simulated delta production journey successfully + When the test gets executed + Then it should work as intended + + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for simulated delta production journey, Provide WeekBasedMaterialDemand for simulated delta production journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Consume WeekBasedCapacityGroup for simulated delta production journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for simulated delta production journey | +| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for simulated delta production journey | +``` + + + +### Prepare for load factors journey + +
+This test ensures that the customer is aware of the sequence of communication and naming conventions within the load factors journey. + +```cucumber +Feature: Customer: Prepare yourself + + Scenario Outline: Prepare for load factors journey + Given I want to execute the load factors journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the load factors journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for load factor journey, Provide WeekBasedMaterialDemand for load factor journey | +| MD_beta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for load factor journey, Provide WeekBasedMaterialDemand for load factor journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Consume WeekBasedCapacityGroup for load factor journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for load factor journey | +| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for load factor journey | +``` + + + ## Customer: Create WeekBasedMaterialDemand ### Create valid WeekBasedMaterialDemand -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create WeekBasedMaterialDemand Scenario Outline: Try to generate valid WeekBasedMaterialDemand - Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + Given the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" * the value for the property "materialDemandIsInactive" is with a default value of "false" + + * the value for the property "unitOfMeasure" is with a default value of "unit:piece" * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + + * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" * the value for the property "materialDescriptionCustomer" is with a default value of "Spark Plug" - * the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" - * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" - * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" - * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" - * the value for the property "demandSeries" contains exactly one entity "DemandSeries" - * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" + + * the value for the property "demandSeries" contains entities * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" * the value for the property "demandCategoryCode" is with a default value of "0001" - * the value for the property "demands" contains exactly one entity "Demand" * the value for the property "pointInTime" is with a default value of "2023-10-09" - * the value for the property "demand" is with a default value of "1000" + * the value for the property "demand" is with a default value of "1000" When the application tries to generate the WeekBasedMaterialDemand Then it should generate the WeekBasedMaterialDemand Examples: -| v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | -| {{OMITTED}} | | | true | | | | | | | | | | | | | -| | | | false | | | | | | | | | | | | | -| unit:gram | | | | | | | | | | | | | | | | -| unit:kilogram | | | | | | | | | | | | | | | | -| unit:tonneMetricTon | | | | | | | | | | | | | | | | -| unit:tonUsOrShortTonUkorus | | | | | | | | | | | | | | | | -| unit:ounceAvoirdupois | | | | | | | | | | | | | | | | -| unit:pound | | | | | | | | | | | | | | | | -| unit:centimetre | | | | | | | | | | | | | | | | -| unit:metre | | | | | | | | | | | | | | | | -| unit:kilometre | | | | | | | | | | | | | | | | -| unit:inch | | | | | | | | | | | | | | | | -| unit:foot | | | | | | | | | | | | | | | | -| unit:yard | | | | | | | | | | | | | | | | -| unit:squareCentimetre | | | | | | | | | | | | | | | | -| unit:squareMetre | | | | | | | | | | | | | | | | -| unit:squareInch | | | | | | | | | | | | | | | | -| unit:squareFoot | | | | | | | | | | | | | | | | -| unit:squareYard | | | | | | | | | | | | | | | | -| unit:cubicCentimetre | | | | | | | | | | | | | | | | -| unit:cubicMetre | | | | | | | | | | | | | | | | -| unit:cubicInch | | | | | | | | | | | | | | | | -| unit:cubicFoot | | | | | | | | | | | | | | | | -| unit:cubicYard | | | | | | | | | | | | | | | | -| unit:millilitre | | | | | | | | | | | | | | | | -| unit:litre | | | | | | | | | | | | | | | | -| unit:hectolitre | | | | | | | | | | | | | | | | -| unit:piece | | | | | | | | | | | | | | | | -| unit:set | | | | | | | | | | | | | | | | -| unit:pair | | | | | | | | | | | | | | | | -| unit:page | | | | | | | | | | | | | | | | -| unit:kilowattHour | | | | | | | | | | | | | | | | -| unit:secondUnitOfTime | | | | | | | | | | | | | | | | -| unit:minuteUnitOfTime | | | | | | | | | | | | | | | | -| unit:hourUnitOfTime | | | | | | | | | | | | | | | | -| unit:cycle | | | | | | | | | | | | | | | | -| | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | -| | | true | | | | | | | | | | | | | | -| | | false | | | | | | | | | | | | | | -| | | | true | | | | | | | | | | | | | -| | | | false | | | | | | | | | | | | | -| | | | | Hello world | | | | | | | | | | | | -| | | | | Καλημέρα κόσμε | | | | | | | | | | | | -| | | | | コンニチハ | | | | | | | | | | | | -| | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | -| | | | | | Hello world | | | | | | | | | | | -| | | | | | Καλημέρα κόσμε | | | | | | | | | | | -| | | | | | コンニチハ | | | | | | | | | | | -| | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | -| | | | | | | A materia| description_that mig#t cont§in sp3cial ch@r@cters | | | | | | | | | | -| | | | | | | | 857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | -| | | | | | | | urn:uuid:857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | -| | | | | | | | | e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | -| | | | | | | | | urn:e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | -| | | | | | | | | | | | | | SR99 | | | -| | | | | | | | | | | | | | ED01 | | | -| | | | | | | | | | | | | | A1S1 | | | -| | | | | | | | | | | | | | OI01 | | | -| | | | | | | | | | | | | | OS01 | | | -| | | | | | | | | | | | | | PI01 | | | -| | | | | | | | | | | | | | PO01 | | | -| | | | | | | | | | | | | | 0001 | | | -| | | | | | | | | | | | | | | 2024-09-02 | | -| | | | | | | | | | | | | | | 1930-01-06 | | -| | | | | | | | | | | | | | | 2119-12-25 | | -| | | | | | | | | | | | | | | | 0 | -| | | | | | | | | | | | | | | | 10000 | -| unit:kilowattHour | | | | | | | | | | | | | | | 999999999999.999 | -| unit:tonneMetricTon | | | | | | | | | | | | | | | 4.4 | +| v_materialDemandId | v_changedAt | v_customer | v_supplier | v_materialDemandIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_materialGlobalAssetId | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_customerLocation | v_expectedSupplierLocation | v_demandCategoryCode | v_demand | v_pointInTime | +| 857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | | | | | | | | +| urn:uuid:857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | | | | | | | | +| | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | +| | | | | true | | | | | | | | | | | | +| | | | | false | | | | | | | | | | | | +| | | | | | unit:gram | | | | | | | | | | | +| | | | | | unit:kilogram | | | | | | | | | | | +| | | | | | unit:tonneMetricTon | | | | | | | | | | | +| | | | | | unit:tonUsOrShortTonUkorus | | | | | | | | | | | +| | | | | | unit:ounceAvoirdupois | | | | | | | | | | | +| | | | | | unit:pound | | | | | | | | | | | +| | | | | | unit:centimetre | | | | | | | | | | | +| | | | | | unit:metre | | | | | | | | | | | +| | | | | | unit:kilometre | | | | | | | | | | | +| | | | | | unit:inch | | | | | | | | | | | +| | | | | | unit:foot | | | | | | | | | | | +| | | | | | unit:yard | | | | | | | | | | | +| | | | | | unit:squareCentimetre | | | | | | | | | | | +| | | | | | unit:squareMetre | | | | | | | | | | | +| | | | | | unit:squareInch | | | | | | | | | | | +| | | | | | unit:squareFoot | | | | | | | | | | | +| | | | | | unit:squareYard | | | | | | | | | | | +| | | | | | unit:cubicCentimetre | | | | | | | | | | | +| | | | | | unit:cubicMetre | | | | | | | | | | | +| | | | | | unit:cubicInch | | | | | | | | | | | +| | | | | | unit:cubicFoot | | | | | | | | | | | +| | | | | | unit:cubicYard | | | | | | | | | | | +| | | | | | unit:millilitre | | | | | | | | | | | +| | | | | | unit:litre | | | | | | | | | | | +| | | | | | unit:hectolitre | | | | | | | | | | | +| | | | | | unit:piece | | | | | | | | | | | +| | | | | | unit:set | | | | | | | | | | | +| | | | | | unit:pair | | | | | | | | | | | +| | | | | | unit:page | | | | | | | | | | | +| | | | | | unit:kilowattHour | | | | | | | | | | | +| | | | | | unit:secondUnitOfTime | | | | | | | | | | | +| | | | | | unit:minuteUnitOfTime | | | | | | | | | | | +| | | | | | unit:hourUnitOfTime | | | | | | | | | | | +| | | | | | unit:cycle | | | | | | | | | | | +| | | | | | {{OMITTED}} | true | | | | | | | | | | +| | | | | | | false | | | | | | | | | | +| | | | | | | | e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | | +| | | | | | | | urn:e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | | +| | | | | | | | | Hello world | | | | | | | | +| | | | | | | | | Καλημέρα κόσμε | | | | | | | | +| | | | | | | | | コンニチハ | | | | | | | | +| | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | +| | | | | | | | | | Hello world | | | | | | | +| | | | | | | | | | Καλημέρα κόσμε | | | | | | | +| | | | | | | | | | コンニチハ | | | | | | | +| | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | +| | | | | | | | | | | A materia| description_that mig#t cont§in sp3cial ch@r@cters | | | | | | +| | | | | | | | | | | | | | SR99 | | | +| | | | | | | | | | | | | | ED01 | | | +| | | | | | | | | | | | | | A1S1 | | | +| | | | | | | | | | | | | | OI01 | | | +| | | | | | | | | | | | | | OS01 | | | +| | | | | | | | | | | | | | PI01 | | | +| | | | | | | | | | | | | | PO01 | | | +| | | | | | | | | | | | | | 0001 | | | +| | | | | | | | | | | | | | | 0 | | +| | | | | | | | | | | | | | | 10000 | | +| | | | | | unit:kilowattHour | | | | | | | | | 999999999999.999 | | +| | | | | | unit:tonneMetricTon | | | | | | | | | 4.4 | | +| | | | | | | | | | | | | | | | 2024-09-02 | +| | | | | | | | | | | | | | | | 1930-01-06 | +| | | | | | | | | | | | | | | | 2119-12-25 | ``` +
+ ### Create invalid WeekBasedMaterialDemand -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create WeekBasedMaterialDemand Scenario Outline: Try to generate invalid WeekBasedMaterialDemand - Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + Given the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" * the value for the property "materialDemandIsInactive" is with a default value of "false" + + * the value for the property "unitOfMeasure" is with a default value of "unit:piece" * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + + * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" * the value for the property "materialDescriptionCustomer" is with a default value of "Spark Plug" - * the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" - * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" - * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" - * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" - * the value for the property "demandSeries" contains exactly one entity "DemandSeries" - * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" + + * the value for the property "demandSeries" contains entities * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" * the value for the property "demandCategoryCode" is with a default value of "0001" - * the value for the property "demands" contains exactly one entity "Demand" * the value for the property "pointInTime" is with a default value of "2023-10-09" - * the value for the property "demand" is with a default value of "1000" + * the value for the property "demand" is with a default value of "1000" When the application tries to generate the WeekBasedMaterialDemand Then it should NOT generate the WeekBasedMaterialDemand and throw an instead Examples: -| v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | error | -| unit:cake list | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | -| | 22.04.2021 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | -| | 2000-01-01T66:23:00.66372+14:00 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | -| | Wrong Format | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | -| | | Maybe | | | | | | | | | | | | | | AspectModel Conformity Error: materialDemandIsInactive | -| | | | 2 | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | -| | | | | | | | This is not an UUID | | | | | | | | | AspectModel Conformity Error: materialDemandId | -| | | | | | | | | 4888d48-6f1d-47f5-8ded-a4410d879df | | | | | | | | AspectModel Conformity Error: materialGlobalAssetId | -| | | | | | | | | | This is not BPNL | | | | | | | AspectModel Conformity Error: supplier | -| | | | | | | | | | | This is not BPNL | | | | | | AspectModel Conformity Error: customer | -| | | | | | | | | | | | This is not BPNS | | | | | AspectModel Conformity Error: expectedSupplierLocation | -| | | | | | | | | | | | | This is not BPNS | | | | AspectModel Conformity Error: customerLocation | -| | | | | | | | | | | | | | Default | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | | | OSO1 | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | | | 0S01 | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | | | | 22.04.2021 | | AspectModel Conformity Error: pointInTime | -| | | | | | | | | | | | | | | 2022-04-22 | | AspectModel Conformity Error: pointInTime | -| | | | | | | | | | | | | | | | 5,5 | AspectModel Conformity Error: demand | -| | | | | | | | | | | | | | | | 9999999999999999999999 | AspectModel Conformity Error: demand | -| | | | | | | | | | | | | | | | -1 | AspectModel Conformity Error: demand | - +| v_materialDemandId | v_changedAt | v_customer | v_supplier | v_materialDemandIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_materialGlobalAssetId | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_customerLocation | v_expectedSupplierLocation | v_demandCategoryCode | v_demand | v_pointInTime | error | +| This is not an UUID | | | | | | | | | | | | | | | | AspectModel Conformity Error: materialDemandId | +| | 22.04.2021 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | 2000-01-01T66:23:00.66372+14:00 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | Wrong Format | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | | This is not BPNL | | | | | | | | | | | | | | AspectModel Conformity Error: customer | +| | | | This is not BPNL | | | | | | | | | | | | | AspectModel Conformity Error: supplier | +| | | | | Maybe | | | | | | | | | | | | AspectModel Conformity Error: materialDemandIsInactive | +| | | | | | unit:cake list | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | +| | | | | | | 2 | | | | | | | | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | +| | | | | | | | 4888d48-6f1d-47f5-8ded-a4410d879df | | | | | | | | | AspectModel Conformity Error: materialGlobalAssetId | +| | | | | | | | | | | | This is not BPNS | | | | | AspectModel Conformity Error: customerLocation | +| | | | | | | | | | | | | This is not BPNS | | | | AspectModel Conformity Error: expectedSupplierLocation | +| | | | | | | | | | | | | | Default | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | OSO1 | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | 0S01 | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | | 5,5 | | AspectModel Conformity Error: demand | +| | | | | | | | | | | | | | | 9999999999999999999999 | | AspectModel Conformity Error: demand | +| | | | | | | | | | | | | | | -1 | | AspectModel Conformity Error: demand | +| | | | | | | | | | | | | | | | 22.04.2021 | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | 2022-04-22 | AspectModel Conformity Error: pointInTime | ``` +
+ ### Create WeekBasedMaterialDemand for base journey -The customer creates four WeekBasedMaterialDemand used by the base journey. +
+The customer creates four WeekBasedMaterialDemand used by the base journey. ```cucumber Feature: Customer: Create WeekBasedMaterialDemand Scenario Outline: Try to generate WeekBasedMaterialDemand for base journey using different + Given the value for the property "materialDemandId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "materialDemandIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "materialGlobalAssetId" is + * the value for the property "materialNumberCustomer" is + * the value for the property "materialNumberSupplier" is + * the value for the property "materialDescriptionCustomer" is + + * the value for the property "demandSeries" contains entities + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "LinkedDemandSeries" + * the value for the property "expectedSupplierLocation" is <1_expectedSupplierLocation> for the first entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "LinkedDemandSeries" + * the value for the property "pointInTime" is <1_pointInTime> for the first entity "LinkedDemandSeries" + * the value for the property "demand" is <1_demand> for the first entity "LinkedDemandSeries" + When the application tries to generate the WeekBasedMaterialDemand + Then it should generate the WeekBasedMaterialDemand - Given the value for the property "unitOfMeasure" is - * the value for the property "changedAt" is - * the value for the property "materialDemandIsInactive" is - * the value for the property "unitOfMeasureIsOmitted" is - * the value for the property "materialNumberCustomer" is - * the value for the property "materialNumberSupplier" is - * the value for the property "materialDescriptionCustomer" is - * the value for the property "materialDemandId" is - * the value for the property "materialGlobalAssetId" is - * the value for the property "supplier" is - * the value for the property "customer" is - * the value for the property "demandSeries" contains exactly one Entity "DemandSeries" - * the value for the property "expectedSupplierLocation" is - * the value for the property "customerLocation" is - * the value for the property "demandCategoryCode" is - * the value for the property "demands" contains exactly one Entity "Demand" - * the value for the property "pointInTime" is - * the value for the property "demand" is +Examples: +| v_tests | v_materialDemandId | v_changedAt | v_customer | v_supplier | v_materialDemandIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_materialGlobalAssetId | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | 1_customerLocation | 1_expectedSupplierLocation | 1_demandCategoryCode | 1_demand | 1_pointInTime | +| MD_alpha | {{UUID_MD1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 200,190,190,200,190,250,280,0,270,250,240,220,200,190,180,200,190,180,190,200 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| MD_beta | {{UUID_MD2}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:kilogram | false | {{UUID_GA2}} | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{BPNS_CUS2}} | {{OMITTED}} | A1S1 | 100,100,100,100,100,100,100,100,100,100,100,200,100,200,200,100,100,200,100,200 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| MD_gamma | {{UUID_MD2}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:kilogram | false | {{UUID_GA3}} | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{BPNS_CUS2}} | {{OMITTED}} | PI01 | 500,200,500,400,500,500,300,500,500,600,600,600,800,700,800,600,600,800,500,900 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| MD_delta | {{UUID_MD3}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:liters | false | {{UUID_GA4}} | MNR-8538-CH809974.001 | {{OMITTED}} | {{DSC_MAT3}} | {{BPNS_CUS3}} | {{OMITTED}} | PO01 | 2540,4160,3660,3210,0,3570,490,3590,3400,3130,2920,3270,3210,0,3060,3030,2570,2740,0,1450 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +``` + +
+ +### Create WeekBasedMaterialDemand for volatility metrics journey + +
+The customer creates a WeekBasedMaterialDemand, in four different versions, used by the volatility metrics journey. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate WeekBasedMaterialDemand for volatility metrics journey using different + Given the value for the property "materialDemandId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "materialDemandIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "materialGlobalAssetId" is + * the value for the property "materialNumberCustomer" is + * the value for the property "materialNumberSupplier" is + * the value for the property "materialDescriptionCustomer" is + + * the value for the property "demandSeries" contains entities + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "DemandSeries" + * the value for the property "expectedSupplierLocation" is <1_expectedSupplierLocation> for the first entity "DemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "DemandSeries" + * the value for the property "demand" is <1_demand> for the first entity "DemandSeries" + * the value for the property "pointInTime" is <1_pointInTime> for the first entity "DemandSeries" + When the application tries to generate the WeekBasedMaterialDemand + Then it should generate or update the WeekBasedMaterialDemand + +Examples: +| v_tests | v_materialDemandId | v_changedAt | v_customer | v_supplier | v_materialDemandIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_materialGlobalAssetId | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | 1_customerLocation | 1_expectedSupplierLocation | 1_demandCategoryCode | 1_demand | 1_pointInTime | +| MD_alpha_v1 | {{UUID_ID1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 80,50,100,75,60,90,20,110,225,0 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +| MD_alpha_v2 | {{UUID_ID1}} | {{TS_NOW + 1 Week}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 80,45,95,83,75,90,45,80,225,5 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +| MD_alpha_v3 | {{UUID_ID1}} | {{TS_NOW + 2 Weeks}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 85,45,95,83,75,78,65,65,0,15 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +| MD_alpha_v4 | {{UUID_ID1}} | {{TS_NOW + 3 Weeks}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 85,45,100,95,0,78,65,86,200,15 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +``` + +
+ +### Create WeekBasedMaterialDemand for simulated delta production journey + +
+The customer creates one WeekBasedMaterialDemand used by the simulated delta production journey. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate WeekBasedMaterialDemand for simulated delta production journey using different + Given the value for the property "materialDemandId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "materialDemandIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "materialGlobalAssetId" is + * the value for the property "materialNumberCustomer" is + * the value for the property "materialNumberSupplier" is + * the value for the property "materialDescriptionCustomer" is + + * the value for the property "demandSeries" contains entities + * the value for the property "customerLocation" is <1_customerLocation> for the first "demandSeries" + * the value for the property "expectedSupplierLocation" is <1_expectedSupplierLocation> for the first "demandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first "demandSeries" + * the value for the property "demand" is <1_demand> for the first "demandSeries" + * the value for the property "pointInTime" is <1_pointInTime> for the first "demandSeries" When the application tries to generate the WeekBasedMaterialDemand Then it should generate the WeekBasedMaterialDemand Examples: -| v_tests | v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | -| MD_alpha | unit:pieces | {{TS_NOW}} | false | false | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{UUID_MD1}} | {{UUID_GA1}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{BPNS_SUP1}} | {{BPNS_CUS1}} | 0001 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 200,190,190,200,190,250,280,0,270,250,240,220,200,190,180,200,190,180,190,200 | -| MD_beta | unit:kilogram | {{TS_NOW}} | false | false | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{UUID_MD2}} | {{UUID_GA2}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS2}} | A1S1 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 100,100,100,100,100,100,100,100,100,100,100,200,100,200,200,100,100,200,100,200 | -| MD_gamma | unit:kilogram | {{TS_NOW}} | false | false | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{UUID_MD2}} | {{UUID_GA3}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS2}} | PI01 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 500,200,500,400,500,500,300,500,500,600,600,600,800,700,800,600,600,800,500,900 | -| MD_delta | unit:liters | {{TS_NOW}} | false | false | MNR-8538-CH809974.001 | {{OMITTED}} | {{DSC_MAT3}} | {{UUID_MD3}} | {{UUID_GA4}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS3}} | PO01 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 2540,4160,3660,3210,0,3570,490,3590,3400,3130,2920,3270,3210,0,3060,3030,2570,2740,0,1450 | +| v_tests | materialDemandId | changedAt | customer | supplier | materialDemandIsInactive | unitOfMeasure | unitOfMeasureIsOmitted | materialGlobalAssetId | materialNumberCustomer | materialNumberSupplier | materialDescriptionCustomer | 1_customerLocation | 1_expectedSupplierLocation | 1_demandCategoryCode | 1_demand | 1_pointInTime | +| MD_alpha | {{UUID_ID1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | units:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 60,60,180,50,150,100,100,100,120,70 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | ``` +
+ +### Create WeekBasedMaterialDemand for load factors journey + +
+The customer creates one WeekBasedMaterialDemand used by the load factors journey. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate WeekBasedMaterialDemand for load factors journey using different + Given the value for the property "materialDemandId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "materialDemandIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "materialGlobalAssetId" is + * the value for the property "materialNumberCustomer" is + * the value for the property "materialNumberSupplier" is + * the value for the property "materialDescriptionCustomer" is + + * the value for the property "demandSeries" contains entities + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "DemandSeries" + * the value for the property "expectedSupplierLocation" is <1_expectedSupplierLocation> for the first entity "DemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "DemandSeries" + * the value for the property "demand" is <1_demand> for the first entity "DemandSeries" + * the value for the property "pointInTime" is <1_pointInTime> for the first entity "DemandSeries" + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedMaterialDemand + +Examples: +| v_tests | v_materialDemandId | v_changedAt | v_customer | v_supplier | v_materialDemandIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_materialGlobalAssetId | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_customerLocation | v_expectedSupplierLocation | v_demandCategoryCode | v_demand | v_pointInTime | +| MD_alpha | {{UUID_MD1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{BPNS_CUS1}} | {{BPNS_SUP1}} | 0001 | 80,50,100,75,60,90,20,110,225,0 | 2024-08-05,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +| MD_beta | {{UUID_MD1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | {{UUID_GA1}} | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{BPNS_CUS1}} | | A1S1 | 70,100,50,75,90,60,130,40,0,110 | 2024-08-05,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +``` + +
+ ## Customer: Provide WeekBasedMaterialDemand ### Provide valid WeekBasedMaterialDemand -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide WeekBasedMaterialDemand @@ -360,9 +585,12 @@ Scenario: Provide valid existing WeekBasedMaterialDemand Then I should get an http 200 status message ``` +
+ ### Provide invalid WeekBasedMaterialDemand -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide WeekBasedMaterialDemand @@ -373,9 +601,12 @@ Scenario: Provide invalid WeekBasedMaterialDemand Then I should get an http 400 status message ``` +
+ ### Provide WeekBasedMaterialDemand for base journey -The customer sends the previously created WeekBasedMaterialDemands to the supplier as two separate data transfers. +
+The customer sends the previously created WeekBasedMaterialDemands to the supplier as two separate data transfers. ```cucumber Feature: Customer: Provide WeekBasedMaterialDemand @@ -391,11 +622,77 @@ Examples: | MD_delta | FT_beta | 200 OK | ``` +
+ +### Provide WeekBasedMaterialDemand for volatility metrics journey + +
+The customer sends the previously created WeekBasedMaterialDemands to the supplier as four separate data transfers. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario Outline: Provide WeekBasedMaterialDemand for volatility metrics journey + Given I have successfully created demand alpha in multiple versions as described in Create WeekBasedMaterialDemand for volatility metrics journey + When I try to provide my supplier with as + Then I should get from my supplier. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha_v1 | FT_alpha | 200 OK | +| MD_alpha_v2 | FT_beta | 200 OK | +| MD_alpha_v3 | FT_delta | 200 OK | +| MD_alpha_v4 | FT_epsilon | 200 OK | +``` + +
+ +### Provide WeekBasedMaterialDemand for simulated delta production journey + +
+The customer sends the previously created WeekBasedMaterialDemand to the supplier. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario Outline: Provide WeekBasedMaterialDemand for delta production journey + Given I have successfully created demand alpha as described in Create WeekBasedMaterialDemand for delta production journey + When I try to provide my supplier with as + Then I should get from my supplier. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha | FT_alpha | 200 OK | +``` + +
+ +### Provide WeekBasedMaterialDemand for load factors journey + +
+The customer sends the previously created WeekBasedMaterialDemand to the supplier. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario Outline: Provide WeekBasedMaterialDemand for load factors journey + Given I have successfully created demand alpha as described in Create WeekBasedMaterialDemand for load factors journey + When I try to provide my supplier with as + Then I should get from my supplier. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha, MD_beta | FT_alpha | 200 OK | +``` + +
+ ## Customer: Consume WeekBasedCapacityGroup ### Consume valid WeekBasedCapacityGroup -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume WeekBasedCapacityGroup @@ -411,9 +708,12 @@ Scenario: Consume valid known WeekBasedCapacityGroup Then I should be able to consume it and send my supplier a http 200 status message ``` +
+ ### Consume invalid WeekBasedCapacityGroup -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume WeekBasedCapacityGroup @@ -424,9 +724,12 @@ Scenario: Consume invalid WeekBasedCapacityGroup Then I should not consume it and send my supplier a http 400 status message ``` +
+ ### Consume WeekBasedCapacityGroup for base journey -The customer receives the previously created WeekBasedCapacityGroups from the supplier as two separate data transfers. +
+The customer receives the previously created WeekBasedCapacityGroups from the supplier as two separate data transfers. ```cucumber Feature: Customer: Consume WeekBasedCapacityGroup @@ -442,11 +745,74 @@ Examples: | CG_gamma,CG_delta | FT_delta | 200 OK | ``` +
+ +### Consume WeekBasedCapacityGroup for volatility metrics journey + +
+The customer receives the previously created WeekBasedCapacityGroup from the supplier. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario Outline: Consume WeekBasedCapacityGroup for volatility metrics journey + Given I have successfully created demand alpha and updated it multiple times as described in Create WeekBasedMaterialDemand for volatility metrics journey + When I try to consume provided by my supplier within + Then I should be able to consume the data and send to my supplier. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_gamma | 200 OK | +``` + +
+ +### Consume WeekBasedCapacityGroup for simulated delta production journey + +
+The customer receives the previously created WeekBasedCapacityGroup from the supplier. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario Outline: Consume WeekBasedCapacityGroup for simulated delta production journey + Given I have successfully created demand alpha as described in Create WeekBasedMaterialDemand for simulated delta production journey + When I try to consume provided by my supplier within + Then I should be able to consume the data and send to my supplier. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_beta | 200 OK | +``` + +
+ +### Consume WeekBasedCapacityGroup for load factors journey + +
+The customer receives the previously created WeekBasedCapacityGroup from the supplier. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario Outline: Consume WeekBasedCapacityGroup for load factors journey + Given I have successfully created demand alpha as described in Create WeekBasedMaterialDemand for load factors journey + When I try to consume provided by my supplier within + Then I should be able to consume the data and send to my supplier. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_beta | 200 OK | +``` + +
+ ## Customer: Visualize CapacityGroup together with MaterialDemand ### Bottleneck calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Customer: Visualize CapacityGroup together with MaterialDemand @@ -465,9 +831,12 @@ Examples: | actual capacity < maximum capacity < demand | red | bottleneck | ``` +
+ ### Surplus calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Customer: Visualize CapacityGroup together with MaterialDemand @@ -484,9 +853,12 @@ Examples: | demand < actual capacity < maximum capacity | green | surplus | ``` +
+ ### Zero deviation calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Customer: Visualize CapacityGroup together with MaterialDemand @@ -503,9 +875,12 @@ Examples: | demand = actual capacity < maximum capacity | green | zero deviation | ``` +
+ ### Calculation for base journey -The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. +
+The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. ```cucumber Feature: Customer: Visualize CapacityGroup together with MaterialDemand @@ -528,11 +903,104 @@ Examples: | CG_beta | MD_beta, MD_gamma | 14 | 2026 | zero deviation | demand = actual capacity < maximum capacity | green | ``` +
+ +### Calculation for volatility metrics journey + +
+The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. This triggers multiple volatility alerts. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for volatility metrics journey + Given I have successfully consumed + * I have successfully created + * are the basis for the comparison within the GUI + When I compare demand and capacity data for + Then I should get for in + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | MostRecentMaterialDemand | week | year | volatility alert | +| CG_alpha | MD_alpha_v1, MD_alpha_v2 | MD_alpha_v1, MD_alpha_v2 | 21, 27 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2 | MD_alpha_v1, MD_alpha_v2 | 24,26 | 2026 | absolute positive deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3 | MD_alpha_v2, MD_alpha_v3 | 25, 28 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3 | MD_alpha_v2, MD_alpha_v3 | 20 | 2026 | absolute positive deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3, MD_alpha_v4 | MD_alpha_v3, MD_alpha_v4 | 24 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3, MD_alpha_v4 | MD_alpha_v3, MD_alpha_v4 | 23, 28 | 2026 | absolute positive deviation exceeded | +``` + +
+ +### Calculation for simulated delta production journey + +
+The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. This comparison takes deltaProductionResult into account. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for simulated delta production journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should get for in after considering deltaProductionResult + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | result | case | color | +| CG_alpha | MD_alpha | 29 | 2026 | surplus | (demand + deltaProductionResult) < actual capacity = maximum capacity | green | +| CG_alpha | MD_alpha | 20,21,22,23,24,28 | 2026 | zero deviation | (demand + deltaProductionResult) = actual capacity = maximum capacity | green | +``` + +
+ +### Calculation for load factors journey + +
+The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. This comparison takes load factors into account. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for load factors journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should see that differs from for in . + * I should see that differs from . + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | UI demand | data demand | capacity data and UI unit of measure | demand data unit of measure | +| CG_alpha | MD_alpha | 32 | 2024 | 80 | 80 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 21 | 2026 | 50 | 50 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 22 | 2026 | 100 | 100 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 23 | 2026 | 75 | 75 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 24 | 2026 | 60 | 60 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 25 | 2026 | 90 | 90 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 26 | 2026 | 20 | 20 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 27 | 2026 | 110 | 110 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 28 | 2026 | 225 | 225 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 29 | 2026 | 0 | 0 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 32 | 2024 | 140 | 70 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 21 | 2026 | 200 | 100 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 22 | 2026 | 100 | 50 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 23 | 2026 | 150 | 75 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 24 | 2026 | 180 | 90 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 25 | 2026 | 120 | 60 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 26 | 2026 | 260 | 130 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 27 | 2026 | 80 | 40 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 28 | 2026 | 0 | 0 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 29 | 2026 | 220 | 110 | unit:cycles | unit:pieces | +``` + +
+ ## Customer: Create IdBasedRequestForUpdate ### Create valid IdBasedRequestForUpdate -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create IdBasedRequestForUpdate @@ -557,9 +1025,12 @@ Examples: ``` +
+ ### Create invalid IdBasedRequestForUpdate -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create IdBasedRequestForUpdate @@ -579,9 +1050,12 @@ Examples: ``` +
+ ### Create IdBasedRequestForUpdate for base journey -The customer creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedCapacityGroup Alpha, identified via {{UUID_CG1}}. +
+The customer creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedCapacityGroup Alpha, identified via {'{UUID_CG1}'}. ```cucumber Feature: Customer: Create IdBasedRequestForUpdate @@ -599,11 +1073,14 @@ Examples: | RU_alpha | {{OMITTED}} | [ {"capacityGroupId" : {{UUID_CG1}}}] | ``` +
+ ## Customer: Provide IdBasedRequestForUpdate ### Provide valid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide IdBasedRequestForUpdate @@ -614,9 +1091,12 @@ Scenario: Provide valid IdBasedRequestForUpdate Then I should get an http 200 status message ``` +
+ ### Provide invalid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide IdBasedRequestForUpdate @@ -627,9 +1107,12 @@ Scenario: Provide invalid IdBasedRequestForUpdate Then I should get an http 400 status message ``` +
+ ### Provide IdBasedRequestForUpdate for base journey -The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. +
+The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. ```cucumber Feature: Customer: Provide IdBasedRequestForUpdate @@ -645,11 +1128,14 @@ Examples: | FT_epsilon | RU_alpha | FT_eta | CG_alpha | ``` +
+ ## Customer: Consume IdBasedRequestForUpdate ### Consume valid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume IdBasedRequestForUpdate @@ -660,9 +1146,12 @@ Scenario: Consume valid IdBasedRequestForUpdate Then I should be able to consume it, send my supplier a http 200 status message and provide my supplier with the data requested, if applicable ``` +
+ ### Consume invalid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume IdBasedRequestForUpdate @@ -673,8 +1162,13 @@ Scenario: Consume invalid IdBasedRequestForUpdate Then I should not consume it and send my supplier a http 400 status message ``` +
+ ### Consume IdBasedRequestForUpdate for base journey +
+The customer receives the previously created IdBasedRequestForUpdate from the supplier. + ```cucumber Feature: Customer: Consume IdBasedRequestForUpdate @@ -689,11 +1183,14 @@ Examples: | FT_zeta | RU_beta | FT_theta | MD_gamma | ``` +
+ ## Customer: Create IdBasedComment ### Create valid IdBasedComment -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create IdBasedComment @@ -741,9 +1238,12 @@ Examples: | | | | | | | | | | | | 2024-03-11T11:27:11.320Z | ``` +
+ ### Create invalid IdBasedComment -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Customer: Create IdBasedComment @@ -786,29 +1286,31 @@ Examples: | | | | | | | | | | | | 2000-01-0 | AspectModel Conformity Error: changedAt | ``` +
+ ### Create IdBasedComment for base journey +
+The customer creates two IdBasedComment used by the base journey. + ```cucumber Feature: Customer: Create IdBasedComment for base journey Scenario Outline: Try to generate IdBasedComment for base journey for base journey using different - -Given the value for the property "CommentId" is -* the value for the property "ObjectId" is -* the value for the property "CommentType" is -* the value for the property "listOfReferenceDates" is -* the value for the property "author" is -* the value for the property "supplier" is -* the value for the property "customer" is -* the value for the property "CommentText" is -* the value for the property "requestDelete" is -* the value for the property "objectType" is -* the value for the property "postedAt" is -* the value for the property "changedAt" is - -When the application tries to generate the IdBasedComment - -Then it should generate the IdBasedComment + Given the value for the property "CommentId" is + * the value for the property "ObjectId" is + * the value for the property "CommentType" is + * the value for the property "listOfReferenceDates" is + * the value for the property "author" is + * the value for the property "supplier" is + * the value for the property "customer" is + * the value for the property "CommentText" is + * the value for the property "requestDelete" is + * the value for the property "objectType" is + * the value for the property "postedAt" is + * the value for the property "changedAt" is + When the application tries to generate the IdBasedComment + Then it should generate the IdBasedComment Examples: | v_tests | v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | @@ -816,11 +1318,14 @@ Examples: | CT_beta | {{UUID_COM3}} | {{UUID_MD1}} | action required | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Demand Increase in CW45. Please confirm increase actual capacity." | {{OMITTED}} | urn:samm:io.catenax.week_based_material_demand | {{OMITTED}} | {{TS_NOW}} | ``` +
+ ## Customer: Provide IdBasedComment ### Provide valid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide IdBasedComment @@ -836,9 +1341,12 @@ Scenario: Provide valid existing IdBasedComment Then I should get an http 200 status message ``` +
+ ### Provide invalid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide IdBasedComment @@ -849,9 +1357,12 @@ Scenario: Provide invalid IdBasedComment Then I should get an http 400 status message ``` +
+ ### Provide IdBasedComment for base journey -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Provide IdBasedComment @@ -866,11 +1377,14 @@ Examples: | FT_iota | CT_alpha, CT_beta | ``` +
+ ## Customer: Consume IdBasedComment ### Consume valid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume IdBasedComment @@ -886,9 +1400,12 @@ Scenario: Consume valid known IdBasedComment Then I should be able to consume it and send my supplier a http 200 status message ``` +
+ ### Consume invalid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume IdBasedComment @@ -899,8 +1416,13 @@ Scenario: Consume invalid IdBasedComment Then I should not consume it and send my supplier a http 400 status message ``` +
+ ### Consume IdBasedComment for base journey +
+The customer receives the previously created IdBasedComment from the supplier. + ```cucumber Feature: Customer: Consume IdBasedComment @@ -914,11 +1436,14 @@ Examples: | FT_kappa | CT_gamma, CT_delta | ``` +
+ ## Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand ### Comment linked to WeekBasedCapacityGroup -This test checks the basic implementation of the comment feature within the GUI +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand @@ -930,9 +1455,12 @@ Scenario: Comment linked to WeekBasedCapacityGroup * I should be able to view this comment by navigating to the WeekBasedCapacityGroup the comment is linking ``` +
+ ### Comment linked to WeekBasedMaterialDemand -This test checks the basic implementation of the comment feature within the GUI +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand @@ -946,14 +1474,17 @@ Scenario: Comment linked to WeekBasedMaterialDemand * the comments should be presented in a tree view ``` +
+ ### Comment linked to IdBasedComment -This test checks the basic implementation of the comment feature within the GUI +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand -Scenario: Comment linked ton IdBasedComment +Scenario: Comment linked to IdBasedComment Given I have a comment that is linked to an IdBasedComment When I try to view this comment in the graphical user interface Then I should be able to view this comment in a list of all comments @@ -961,6 +1492,8 @@ Scenario: Comment linked ton IdBasedComment * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the IdBasedComment is linking, the comment is linking ``` +
+ ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md index afd781ed7491..0ad8622db71a 100644 --- a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md @@ -18,7 +18,8 @@ For an overview of these tests you should visit [Testing a DCM application](./ov ### Setup EDC -This test ensures that the supplier sets up its EDC. +
+This test ensures that the supplier sets up its EDC. ```cucumber Feature: Supplier: Prepare yourself @@ -29,9 +30,12 @@ Scenario: Setup EDC Then I should confirm that I have setup my EDC in the correct version successfully ``` +
+ ### Register APIs as assets -This test ensures that the supplier registers its API endpoints as data assets with its own EDC. +
+This test ensures that the supplier registers its API endpoints as data assets with its own EDC. ```cucumber Feature: Supplier: Prepare yourself @@ -48,9 +52,12 @@ Examples: | IdBasedComment API | cx-taxo:DcmIdBasedComment | 2.0 | ``` +
+ ### Check wallet for certificates -This test ensures that the supplier has the necessary credentials in its wallet. +
+This test ensures that the supplier has the necessary credentials in its wallet. ```cucumber Feature: Supplier: Prepare yourself @@ -67,9 +74,12 @@ Examples: | DataExchangeGovernance:1.0 | DataExchangeGovernance:1.0 | ``` +
+ ### Prepare variables for other tests -This test ensures that the supplier is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. +
+This test ensures that the supplier is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. ```cucumber Feature: Supplier: Prepare yourself @@ -101,14 +111,17 @@ Examples: ``` +
+ ### Prepare for base journey -This test ensures that the supplier is aware of the sequence of communication and naming conventions within the base journey. +
+This test ensures that the supplier is aware of the sequence of communication and naming conventions within the base journey. ```cucumber Feature: Supplier: Prepare yourself - Scenario Outline: Prepare for base journey +Scenario Outline: Prepare for base journey Given I want to execute the base journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the base journey successfully When the test gets executed Then it should work as intended @@ -141,11 +154,90 @@ Examples: | FT_kappa | A Filetransfer providing IdBasedComment for the customer to consume | Provide IdBasedComment for base journey | ``` + + +### Prepare for volatility metrics journey + +
+This test ensures that the supplier is aware of the sequence of communication and naming conventions within the volatility metrics journey. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario Outline: Prepare for volatility metrics journey + Given I want to execute the volatility metrics journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the volatility metrics journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha_v1 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v2 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Beta | Consume Provide WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v3 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Delta | Consume Provide WeekBasedMaterialDemand for volatility metrics journey | +| MD_alpha_v4 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Epsilon | Consume Provide WeekBasedMaterialDemand for volatility metrics journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma | Create WeekBasedCapacityGroup for volatility metrics journey, Provide WeekBasedCapacityGroup for volatility metrics journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for volatility metrics journey | +| FT_beta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for volatility metrics journey | +| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide WeekBasedCapacityGroup for volatility metrics journey | +| FT_delta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for volatility metrics journey | +| FT_epsilon | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for volatility metrics journey | +``` + + + +### Prepare for simulated delta production journey + +
+This test ensures that the supplier is aware of the sequence of communication and naming conventions within the simulated delta production journey. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario Outline: Prepare for simulated delta production journey + Given I want to execute the simulated delta production journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the simulated delta production journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for simulated delta production journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Create WeekBasedCapacityGroup for simulated delta production journey, Provide WeekBasedCapacityGroup for simulated delta production journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for simulated delta production journey | +| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide WeekBasedCapacityGroup for simulated delta production journey | +``` + + + +### Prepare for load factors journey + +
+This test ensures that the supplier is aware of the sequence of communication and naming conventions within the load factors journey. + +```cucumber +Feature: Supplier: Prepare yourself + + Scenario Outline: Prepare for load factors journey + Given I want to execute the load factors journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the load factors journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for load factor journey | +| MD_beta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for load factor journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Create WeekBasedCapacityGroup for load factor journey, Provide WeekBasedCapacityGroup for load factor journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for load factor journey | +| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide WeekBasedCapacityGroup for load factor journey | +``` + + + ## Supplier: Consume WeekBasedMaterialDemand ### Consume valid WeekBasedMaterialDemand -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume WeekBasedMaterialDemand @@ -161,9 +253,12 @@ Scenario: Consume valid known WeekBasedMaterialDemand Then I should be able to consume it and send my customer a http 200 status message ``` +
+ ### Consume invalid WeekBasedMaterialDemand -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Customer: Consume WeekBasedMaterialDemand @@ -174,9 +269,12 @@ Scenario: Consume invalid WeekBasedMaterialDemand Then I should not consume it and send my customer a http 400 status message ``` +
+ ### Consume WeekBasedMaterialDemand for base journey -The supplier receives the previously created WeekBasedMaterialDemands from the customer as two separate data transfers. +
+The supplier receives the previously created WeekBasedMaterialDemands from the customer as two separate data transfers. ```cucumber Feature: Supplier: Consume WeekBasedMaterialDemand @@ -192,292 +290,517 @@ Examples: | MD_delta | FT_beta | 200 OK | ``` +
+ +### Consume WeekBasedMaterialDemand for volatility metrics journey + +
+The supplier receives the previously created WeekBasedMaterialDemands from the customer as four separate data transfers. + +```cucumber +Feature: Supplier: Consume WeekBasedMaterialDemand + +Scenario Outline: Consume WeekBasedMaterialDemand for volatility metrics journey + Given this is my entry point into the volatility metrics journey + When I try to consume provided by my customer within + Then I should be able to consume the data and send to my customer. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha_v1 | FT_alpha | 200 OK | +| MD_alpha_v2 | FT_beta | 200 OK | +| MD_alpha_v3 | FT_delta | 200 OK | +| MD_alpha_v4 | FT_epsilon | 200 OK | +``` + +
+ +### Consume WeekBasedMaterialDemand for simulated delta production journey + +
+The supplier receives the previously created WeekBasedMaterialDemand from the customer. + +```cucumber +Feature: Supplier: Consume WeekBasedMaterialDemand + +Scenario Outline: Consume WeekBasedMaterialDemand for simulated delta production journey + Given this is my entry point into the simulated delta production journey + When I try to consume provided by my customer within + Then I should be able to consume the data and send to my customer. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha | FT_alpha | 200 OK | +``` + +
+ +### Consume WeekBasedMaterialDemand for load factors journey + +
+The supplier receives the previously created WeekBasedMaterialDemand from the customer. + +```cucumber +Feature: Supplier: Consume WeekBasedMaterialDemand + +Scenario Outline: Consume WeekBasedMaterialDemand for load factors journey + Given this is my entry point into the load factors journey + When I try to consume provided by my customer within + Then I should be able to consume the data and send to my customer. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha, MD_beta | FT_alpha | 200 OK | +``` + +
+ ## Supplier: Create WeekBasedCapacityGroup ### Create valid WeekBasedCapacityGroup -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create WeekBasedCapacityGroup Scenario Outline: Try to generate valid WeekBasedCapacityGroup - Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" - * the value for the property "name" is with a default value of "All my beautiful spark plugs" - * the value for the property "demandVolatilityParameters" contains exactly one entity "DemandVolatilityParametersEntity" - * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" - * the value for the property "rollingHorizonAlertThresholds" contains exactly one entity "RollingHorizonAlertThresholdsEntity" - * the value for the property "measurementInterval" is with a default value of "4" - * the value for the property "sequenceNumber" is with a default value of "1" - * the value for the property "subhorizonLength" is with a default value of "4" - * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" - * the value for the property "relativePositiveDeviation" is with a default value of "0.2" - * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" - * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" - * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" - * the value for the property "linkedDemandSeries" contains exactly one entity "LinkedDemandSeries" - * the value for the property "demandCategoryCode" is with a default value of "0001" - * the value for the property "loadFactor" is with a default value of "3.5" - * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" - * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" - * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" - * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" - * the value for the property "capacities" contains exactly one entity "Capacity" - * the value for the property "actualCapacity" is with a default value of "1000" - * the value for the property "agreedCapacity" is with a default value of "1800" - * the value for the property "maximumCapacity" is with a default value of "2000" - * the value for the property "deltaProductionResult" is with a default value of "400" - * the value for the property "pointInTime" is with a default value of "2022-08-01" - * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" - * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" - * the value for the property "capacityGroupIsInactive" is with a default value of "true" - * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" - * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" - * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + Given the value for the property "name" is with a default value of "All my beautiful spark plugs" + * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "capacityGroupIsInactive" is with a default value of "true" + + * the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + + * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "loadFactor" is with a default value of "3.5" + + * the value for the property "capacities" contains entities + * the value for the property "actualCapacity" is with a default value of "1000" + * the value for the property "agreedCapacity" is with a default value of "1800" + * the value for the property "maximumCapacity" is with a default value of "2000" + * the value for the property "deltaProductionResult" is with a default value of "400" + * the value for the property "pointInTime" is with a default value of "2022-08-01" + + * the value for the property "demandVolatilityParameters" contains entities + * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" + * the value for the property "measurementInterval" is with a default value of "4" + * the value for the property "rollingHorizonAlertThresholds" contains entities + * the value for the property "sequenceNumber" is with a default value of "1" + * the value for the property "subhorizonLength" is with a default value of "4" + * the value for the property "relativePositiveDeviation" is with a default value of "0.2" + * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" + * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" + * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" When the application tries to generate the WeekBasedCapacityGroup Then it should generate the WeekBasedCapacityGroup Examples: -| v_unitOfMeasure | v_name | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_absoluteNegativeDeviation | v_relativePositiveDeviation | v_absolutePositiveDeviation | v_relativeNegativeDeviation | v_changedAt | v_demandCategoryCode | v_loadFactor | v_materialNumberSupplier | v_materialNumberCustomer | v_customerLocation | v_supplierLocations | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_linkedCapacityGroups | v_capacityGroupId | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_supplier | v_customer | -| unit:gram | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:kilogram | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:tonneMetricTon | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:tonUsOrShortTonUkorus | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:ounceAvoirdupois | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:pound | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:centimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:metre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:kilometre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:inch | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:foot | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:yard | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:squareCentimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:squareMetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:squareInch | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:squareFoot | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:squareYard | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cubicCentimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cubicMetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cubicInch | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cubicFoot | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cubicYard | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:millilitre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:litre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:hectolitre | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:piece | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:set | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:pair | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:page | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:kilowattHour | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:secondUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:minuteUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:hourUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| unit:cycle | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | コンニチハ | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | Καλημέρα κόσμε | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | Hello World | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | | | | | | | | | | | | -| | | 2000-01-01T14:23:00.66372 | | | | | | | | | | | | | | | | | | | | | | | | | | -| | | | 1 | | | | | | | | | | | | | | | | | | | | | | | | | -| | | | 999 | | | | | | | | | | | | | | | | | | | | | | | | | -| | | | | 1 | | | | | | | | | | | | | | | | | | | | | | | | -| | | | | 999 | | | | | | | | | | | | | | | | | | | | | | | | -| | | | | | 1 | | | | | | | | | | | | | | | | | | | | | | | -| | | | | | 999 | | | | | | | | | | | | | | | | | | | | | | | -| | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | | | | | | | -| | | | | | | 4.4 | | | | | | | | | | | | | | | | | | | | | | -| | | | | | | 0 | | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | 0 | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | 0.5 | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | 1 | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | 4.4 | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | 0 | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | 0 | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | 0.5 | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | 1 | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | SR99 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | ED01 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | A1S1 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | OI01 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | OS01 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | PI01 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | PO01 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | 0001 | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | 4.4 | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | 0.5 | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | Hello World | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | Hello World | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | 0 | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | 0 | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | 2024-09-02 | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | 1930-01-06 | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | 2119-12-25 | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | | | | true | | | | -| | | | | | | | | | | | | | | | | | | | | | | | | false | | | | -| {{OMITTED}} | | | | | | | | | | | | | | | | | | | | | | | | | true | | | -| | | | | | | | | | | | | | | | | | | | | | | | | | false | | | +| v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_supplierLocations | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_linkedCapacityGroups | v_materialNumberCustomer | v_materialNumberSupplier | v_customerLocation | v_demandCategoryCode | v_loadFactor | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_relativePositiveDeviation | v_relativeNegativeDeviation | v_absolutePositiveDeviation | v_absoluteNegativeDeviation | +| @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| コンニチハ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| Καλημέρα κόσμε | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| Hello World | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | true | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | false | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:gram | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:kilogram | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:tonneMetricTon | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:tonUsOrShortTonUkorus | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:ounceAvoirdupois | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:pound | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:centimetre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:metre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:kilometre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:inch | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:foot | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:yard | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:squareCentimetre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:squareMetre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:squareInch | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:squareFoot | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:squareYard | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cubicCentimetre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cubicMetre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cubicInch | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cubicFoot | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cubicYard | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:millilitre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:litre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:hectolitre | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:piece | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:set | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:pair | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:page | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:kilowattHour | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:secondUnitOfTime | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:minuteUnitOfTime | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:hourUnitOfTime | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | unit:cycle | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | {{OMITTED}} | true | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | false | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | Hello World | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | Hello World | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | SR99 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | ED01 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | A1S1 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | OI01 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | OS01 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | PI01 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | PO01 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | 0001 | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | 0.5 | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | 0 | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | 10000 | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | 0 | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 2024-09-02 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 1930-01-06 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 2119-12-25 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 2000-01-01T14:23:00.66372 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | 1 | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | 999 | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | | 1 | | | | | | +| | | | | | | | | | | | | | | | | | | | | | | 999 | | | | | | +| | | | | | | | | | | | | | | | | | | | | | | | 1 | | | | | +| | | | | | | | | | | | | | | | | | | | | | | | 999 | | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | 0 | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | 0.5 | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | 1 | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | 0 | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | 0.5 | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | 1 | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | | 999999999999.999 | | +| | | | | | | | | | | | | | | | | | | | | | | | | | | 4.4 | | +| | | | | | | | | | | | | | | | | | | | | | | | | | | 0 | | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | 999999999999.999 | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.4 | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | 0 | ``` +
+ ### Create invalid WeekBasedCapacityGroup -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create WeekBasedCapacityGroup Scenario Outline: Try to generate invalid WeekBasedCapacityGroup - Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" - * the value for the property "name" is with a default value of "All my beautiful spark plugs" - * the value for the property "demandVolatilityParameters" contains exactly one entity "DemandVolatilityParametersEntity" - * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" - * the value for the property "rollingHorizonAlertThresholds" contains exactly one entity "RollingHorizonAlertThresholdsEntity" - * the value for the property "measurementInterval" is with a default value of "4" - * the value for the property "sequenceNumber" is with a default value of "1" - * the value for the property "subhorizonLength" is with a default value of "4" - * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" - * the value for the property "relativePositiveDeviation" is with a default value of "0.2" - * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" - * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" - * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" - * the value for the property "linkedDemandSeries" contains exactly one entity "LinkedDemandSeries" - * the value for the property "demandCategoryCode" is with a default value of "0001" - * the value for the property "loadFactor" is with a default value of "3.5" - * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" - * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" - * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" - * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" - * the value for the property "capacities" contains exactly one entity "Capacity" - * the value for the property "actualCapacity" is with a default value of "1000" - * the value for the property "agreedCapacity" is with a default value of "1800" - * the value for the property "maximumCapacity" is with a default value of "2000" - * the value for the property "deltaProductionResult" is with a default value of "400" - * the value for the property "pointInTime" is with a default value of "2022-08-01" - * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" - * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" - * the value for the property "capacityGroupIsInactive" is with a default value of "true" - * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" - * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" - * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + Given the value for the property "name" is with a default value of "All my beautiful spark plugs" + * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "capacityGroupIsInactive" is with a default value of "true" + + * the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + + * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "loadFactor" is with a default value of "3.5" + + * the value for the property "capacities" contains exactly one entity "Capacity" + * the value for the property "actualCapacity" is with a default value of "1000" + * the value for the property "agreedCapacity" is with a default value of "1800" + * the value for the property "maximumCapacity" is with a default value of "2000" + * the value for the property "deltaProductionResult" is with a default value of "400" + * the value for the property "pointInTime" is with a default value of "2022-08-01" + + * the value for the property "demandVolatilityParameters" contains entities + * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" + * the value for the property "measurementInterval" is with a default value of "4" + * the value for the property "rollingHorizonAlertThresholds" contains entities + * the value for the property "sequenceNumber" is with a default value of "1" + * the value for the property "subhorizonLength" is with a default value of "4" + * the value for the property "relativePositiveDeviation" is with a default value of "0.2" + * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" + * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" + * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" When the application tries to generate the WeekBasedCapacityGroup Then it should NOT generate the WeekBasedCapacityGroup and throw an instead Examples: -| v_unitOfMeasure | v_name | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_absoluteNegativeDeviation | v_relativePositiveDeviation | v_absolutePositiveDeviation | v_relativeNegativeDeviation | v_changedAt | v_demandCategoryCode | v_loadFactor | v_materialNumberSupplier | v_materialNumberCustomer | v_customerLocation | v_supplierLocations | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_linkedCapacityGroups | v_capacityGroupId | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_supplier | v_customer | error | -| unit:decagram | | | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | -| | | 2023-02-29T12:00:00.320Z | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | -| | | This is not a datetime | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | -| | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: measurementInterval | -| | | | 2.3 | 5.5 | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: measurementInterval | -| | | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: sequenceNumber | -| | | | | | 4.6 | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: sequenceNumber | -| | | | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: subhorizonLength | -| | | | | | | -100 | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: subhorizonLength | -| | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absoluteNegativeDeviation | -| | | | | | | | 2 | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absoluteNegativeDeviation | -| | | | | | | | -0.1 | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | -| | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | -| | | | | | | | | -1.1 | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | -| | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absolutePositiveDeviation | -| | | | | | | | | | -0.2 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absolutePositiveDeviation | -| | | | | | | | | | 2 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | -| | | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | -| | | | | | | | | | 200-01-0 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | -| | | | | | | | | | | This is not a datetime | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | -| | | | | | | | | | | | 0O01 | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | 01OI | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | Default | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | -| | | | | | | | | | | | | -1 | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | -| | | | | | | | | | | | | 1,1 | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | -| | | | | | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | -| | | | | | | | | | | | | | | | This is not a BPNS | | | | | | | | | | | | | AspectModel Conformity Error: customerLocation | -| | | | | | | | | | | | | | | | | This is not a BPNS | | | | | | | | | | | | AspectModel Conformity Error: supplierLocations | -| | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | -| | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | -| | | | | | | | | | | | | | | | | | -1 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | -| | | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | -| | | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | -| | | | | | | | | | | | | | | | | | | -1 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | -| | | | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | -| | | | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | -| | | | | | | | | | | | | | | | | | | | -1 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | -| | | | | | | | | | | | | | | | | | | | | This is not a decimal | | | | | | | | AspectModel Conformity Error: deltaProductionResult | -| | | | | | | | | | | | | | | | | | | | | | 2022-04-22 | | | | | | | AspectModel Conformity Error: pointInTime | -| | | | | | | | | | | | | | | | | | | | | | 22.04.2021 | | | | | | | AspectModel Conformity Error: pointInTime | -| | | | | | | | | | | | | | | | | | | | | | | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | | AspectModel Conformity Error: linkedCapacityGroups | -| | | | | | | | | | | | | | | | | | | | | | | b90ae365-3866-9971-9004b1b1d003 | | | | | | AspectModel Conformity Error: linkedCapacityGroups | -| | | | | | | | | | | | | | | | | | | | | | | | b90ae365-3866-9971-9004b1b1d003 | | | | | AspectModel Conformity Error: capacityGroupId | -| | | | | | | | | | | | | | | | | | | | | | | | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | AspectModel Conformity Error: capacityGroupId | -| | | | | | | | | | | | | | | | | | | | | | | | | maybe | | | | AspectModel Conformity Error: capacityGroupIsInactive | -| | | | | | | | | | | | | | | | | | | | | | | | | | maybe | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | -| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a BPNL | | AspectModel Conformity Error: supplier | -| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a BPNL | AspectModel Conformity Error: customer | +| v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_supplierLocations | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | v_linkedCapacityGroups | v_materialNumberCustomer | v_materialNumberSupplier | v_customerLocation | v_demandCategoryCode | v_loadFactor | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_relativePositiveDeviation | v_relativeNegativeDeviation | v_absolutePositiveDeviation | v_absoluteNegativeDeviation | error | +| | b90ae365-3866-9971-9004b1b1d003 | | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: capacityGroupId | +| | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: capacityGroupId | +| | | This is not a datetime | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | | | This is not a BPNL | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: customer | +| | | | | This is not a BPNL | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: supplier | +| | | | | | This is not a BPNS | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: supplierLocations | +| | | | | | | maybe | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: capacityGroupIsInactive | +| | | | | | | | unit:decagram | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | +| | | | | | | | | maybe | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | +| | | | | | | | | | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: linkedCapacityGroups | +| | | | | | | | | | b90ae365-3866-9971-9004b1b1d003 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: linkedCapacityGroups | +| | | | | | | | | | | | | This is not a BPNS | | | | | | | | | | | | | | | | AspectModel Conformity Error: customerLocation | +| | | | | | | | | | | | | | 0O01 | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | 01OI | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | Default | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | | -1 | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | | | 1,1 | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | | | This is not a decimal | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | -1 | | | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | -1 | | | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | -1 | | | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | | This is not a decimal | | | | | | | | | | AspectModel Conformity Error: deltaProductionResult | +| | | | | | | | | | | | | | | | | | | | 2022-04-22 | | | | | | | | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | | | | | 22.04.2021 | | | | | | | | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | | | | | | 2023-02-29T12:00:00.320Z | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | +| | | | | | | | | | | | | | | | | | | | | This is not a datetime | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | +| | | | | | | | | | | | | | | | | | | | | | This is not an integer | | | | | | | AspectModel Conformity Error: measurementInterval | +| | | | | | | | | | | | | | | | | | | | | | 2.3 | 5.5 | | | | | | AspectModel Conformity Error: measurementInterval | +| | | | | | | | | | | | | | | | | | | | | | | This is not an integer | | | | | | AspectModel Conformity Error: sequenceNumber | +| | | | | | | | | | | | | | | | | | | | | | | | 4.6 | | | | | AspectModel Conformity Error: sequenceNumber | +| | | | | | | | | | | | | | | | | | | | | | | | This is not an integer | | | | | AspectModel Conformity Error: subhorizonLength | +| | | | | | | | | | | | | | | | | | | | | | | | | 2 | | | | AspectModel Conformity Error: absoluteNegativeDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | -0.1 | | | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | This is not a decimal | | | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | -0.2 | | | AspectModel Conformity Error: absolutePositiveDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | 2 | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | This is not a decimal | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | 200-01-0 | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | | -1.1 | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a decimal | | AspectModel Conformity Error: absolutePositiveDeviation | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | -100 | AspectModel Conformity Error: subhorizonLength | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a decimal | AspectModel Conformity Error: absoluteNegativeDeviation | ``` +
+ ### Create WeekBasedCapacityGroup for base journey +
+The supplier creates four WeekBasedCapacityGroup used by the base journey. + ```cucumber Feature: Customer: Create WeekBasedCapacityGroup Scenario Outline: Try to generate WeekBasedCapacityGroup for base journey using different + Given the value for the property "name" is + * the value for the property "capacityGroupId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "capacityGroupIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is <1_materialNumberCustomer> for the first entity "LinkedDemandSeries" + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "LinkedDemandSeries" + + * the value for the property "capacities" contains entities + * the value for the property "actualCapacity" is + * the value for the property "agreedCapacity" is + * the value for the property "maximumCapacity" is + * the value for the property "deltaProductionResult" is + * the value for the property "pointInTime" is + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedCapacityGroup -Given the value for the property "unitOfMeasure" is -* the value for the property "changedAt" is -* the value for the property "capacityGroupIsInactive" is -* the value for the property "unitOfMeasureIsOmitted" is -* the value for the property "name" is -* the value for the property "capacityGroupId" is -* the value for the property "supplier" is -* the value for the property "customer" is -* the value for the property "LinkedDemandSeries" contains at least one Entity "DemandSeries" -* the value for the property "linkedCapacityGroups" is -* the value for the property "pointInTime" is -* the value for the property "actualCapacity" is -* the value for the property "maximumCapacity" is -* the value for the property "agreedCapacity" is -* the value for the property "deltaProductionResult" is +Examples: +| v_tests | v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | 1_materialNumberCustomer | 1_customerLocation | 1_demandCategory | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_pointInTime | +| alpha | {{STR_LOCA}} | {{UUID_CG1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:pieces | false | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | 220,209,209,220,209,245,250,0,240,250,245,242,220,209,198,220,109,198,209,220 | 300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300 | 250,250,250,250,250,250,250,0,250,250,250,250,250,250,250,250,250,250,250,250 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| beta | {{STR_LOCB}} | {{UUID_CG2}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:kilogram | false | MNR-8549-CH706214.023, MNR-8549-CH706214.023 | {{BPNS_CUS2}}, {{BPNS_CUS2}} | A1S1,PI01 | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| gamma | {{STR_LOCC}} | {{UUID_CG3}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:liters | false | MNR-8538-CH809974.001 | {{BPNS_CUS3}} | PO01 | 3790,3790,3890,3890,2020,2020,2310,2310,3690,0,3500,3500,1820,1820,3450,3450,3010,3010,550,550 | 4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000 | 3790,3790,3890,3890,3530,3530,3530,3910,3910,3910,3910,3910,3910,3910,3450,3450,3010,3010,2580,2580 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +| delta | {{STR_LOCD}} | {{UUID_CG4}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:kilogram | false | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | +``` +
-When the application tries to generate the WeekBasedCapacityGroup +### Create WeekBasedCapacityGroup for volatility metrics journey -Then it should generate the WeekBasedCapacityGroup +
+The supplier creates one WeekBasedCapacityGroup used by the volatility metrics journey. + +```cucumber +Feature: Customer: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate WeekBasedCapacityGroup for volatility metrics journey using different + Given the value for the property "name" is + * the value for the property "capacityGroupId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "supplierLocations" is + * the value for the property "capacityGroupIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is <1_materialNumberCustomer> for the first entity "LinkedDemandSeries" + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "LinkedDemandSeries" + + * the value for the property "capacities" contains entities + * the value for the property "actualCapacity" is + * the value for the property "agreedCapacity" is + * the value for the property "maximumCapacity" is + * the value for the property "pointInTime" is + + * the value for the property "demandVolatilityParameters" contains entities + * the value for the property "startReferenceDateTime" is + * the value for the property "measurementInterval" is + * the value for the property "rollingHorizonAlertThresholds" contains entities + * the value for the property "sequenceNumber" is + * the value for the property "subhorizonLength" is + * the value for the property "absolutePositiveDeviation" is + * the value for the property "absoluteNegativeDeviation" is + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedCapacityGroup + +Examples: +| v_tests | v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_supplierLocations | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | 1_materialNumberCustomer | 1_customerLocation | 1_demandCategoryCode | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_pointInTime | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_absolutePositiveDeviation | v_absoluteNegativeDeviation | +| CG_alpha | Volatility Tester | {{TS_NOW}} | UUID_CG1 | {{BPNL_CUS}} | {{BPNL_SUP}} | {{BPNS_SUP1}} | false | unit:pieces | false | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | 80,80,90,90,90,90,100,100,100,100 | 100,100,95,95,95,95,150,150,150,150 | 100,100,100,100,100,100,100,100,100,100 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | {{TS_NOW}} | 1 | 1,2,3 | 2,4,4 | 0,10,20 | 0,10,20 | +``` + +
+ +### Create WeekBasedCapacityGroup for simulated delta production journey + +
+The supplier creates one WeekBasedCapacityGroup used by the simulated delta production journey. + +```cucumber +Feature: Customer: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate WeekBasedCapacityGroup for simulated delta production journey using different + Given the value for the property "name" is + * the value for the property "capacityGroupId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "supplierLocations" is + * the value for the property "capacityGroupIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is <1_materialNumberCustomer> for the first entity "LinkedDemandSeries" + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "LinkedDemandSeries" + + * the value for the property "capacities" contains entities + * the value for the property "actualCapacity" is + * the value for the property "agreedCapacity" is + * the value for the property "maximumCapacity" is + * the value for the property "deltaProductionResult" is + * the value for the property "pointInTime" is + + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedCapacityGroup Examples: -| v_tests | v_unitOfMeasure | v_changedAt | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_name | v_capacityGroupId | v_supplier | v_customer | v_materialNumberCustomer | v_customerLocation | v_demandCategory | v_linkedCapacityGroups | v_DemandVolatility | v_pointInTime | v_actualCapacity | v_maximumCapacity | v_agreedCapacity | v_deltaProductionResult | -| alpha | unit:pieces | {{TS_NOW}} | false | false | {{STR_LOCA}} | {{UUID_CG1}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 220,209,209,220,209,245,250,0,240,250,245,242,220,209,198,220,109,198,209,220 | 250,250,250,250,250,250,250,0,250,250,250,250,250,250,250,250,250,250,250,250 | 300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300 | {{OMITTED}} | -| beta | unit:kilogram | {{TS_NOW}} | false | false | {{STR_LOCB}} | {{UUID_CG2}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8549-CH706214.023, MNR-8549-CH706214.023 | {{BPNS_CUS2}}, {{BPNS_CUS2}} | A1S1,PI01 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | {{OMITTED}} | -| gamma | unit:liters | {{TS_NOW}} | false | false | {{STR_LOCC}} | {{UUID_CG3}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8538-CH809974.001 | {{BPNS_CUS3}} | PO01 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 3790,3790,3890,3890,2020,2020,2310,2310,3690,0,3500,3500,1820,1820,3450,3450,3010,3010,550,550 | 3790,3790,3890,3890,3530,3530,3530,3910,3910,3910,3910,3910,3910,3910,3450,3450,3010,3010,2580,2580 | 4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000 | {{OMITTED}} | -| delta | unit:kilogram | {{TS_NOW}} | false | false | {{STR_LOCD}} | {{UUID_CG4}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | {{OMITTED}} | +| v_tests | v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_supplierLocations | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | 1_materialNumberCustomer | 1_customerLocation | 1_demandCategoryCode | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | +| CG_alpha | DeltaProductionTest | {{UUID_ID1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | {{BPNS_SUP1}} | false | units:pieces | false | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | 100,100,100,100,100,100,100,100,100,100 | 100,100,100,100,100,100,100,100,100,100 | 40, 40, -80, 50, -50, 0,0,0,-20,20 | 100,100,100,100,100,100,100,100,100,100 | 2026-05-11,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | ``` +
+ +### Create WeekBasedCapacityGroup for load factors journey + +
+The supplier creates one WeekBasedCapacityGroup used by the load factors journey. + +```cucumber +Feature: Customer: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate WeekBasedCapacityGroup for load factors journey using different + Given the value for the property "name" is + * the value for the property "capacityGroupId" is + * the value for the property "changedAt" is + * the value for the property "customer" is + * the value for the property "supplier" is + * the value for the property "capacityGroupIsInactive" is + + * the value for the property "unitOfMeasure" is + * the value for the property "unitOfMeasureIsOmitted" is + + * the value for the property "linkedDemandSeries" contains entities + * the value for the property "materialNumberCustomer" is <1_materialNumberCustomer> for the first entity "LinkedDemandSeries" + * the value for the property "customerLocation" is <1_customerLocation> for the first entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <1_demandCategoryCode> for the first entity "LinkedDemandSeries" + * the value for the property "loadFactor" is <1_loadFactor> for the first entity "LinkedDemandSeries" + * the value for the property "materialNumberCustomer" is <2_materialNumberCustomer> for the second entity "LinkedDemandSeries" + * the value for the property "customerLocation" is <2_customerLocation> for the second entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is <2_demandCategoryCode> for the second entity "LinkedDemandSeries" + * the value for the property "loadFactor" is <2_loadFactor> for the second entity "LinkedDemandSeries" + + * the value for the property "capacities" contains entities + * the value for the property "actualCapacity" is + * the value for the property "agreedCapacity" is + * the value for the property "maximumCapacity" is + * the value for the property "deltaProductionResult" is + * the value for the property "pointInTime" is + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedCapacityGroup + +Examples: +| v_tests | v_name | v_capacityGroupId | v_changedAt | v_customer | v_supplier | v_capacityGroupIsInactive | v_unitOfMeasure | v_unitOfMeasureIsOmitted | 1_materialNumberCustomer | 1_customerLocation | 1_demandCategoryCode | 1_loadFactor | 2_materialNumberCustomer | 2_customerLocation | 2_demandCategoryCode | 2_loadFactor | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | +| alpha | LoadFactorTestGroup | {{UUID_ID1}} | {{TS_NOW}} | {{BPNL_CUS}} | {{BPNL_SUP}} | false | unit:cycles | false | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | 1 | MNR-8549-CH706214.023 | {{BPNS_CUS1}} | A1S1 | 2 | 200,200,200,200,200,200,200,200,200,200 | 200,200,200,200,200,200,200,200,200,200 | 225,225,225,225,225,225,225,225,225,225 | 0,0,0,0,0,0,0,0,0,0 | 2024-08-05,2026-05-18,2026-05-25,2026-06-01,2026-06-08,2026-06-15,2026-06-22,2026-06-29,2026-07-06,2026-07-13 | +``` + +
+ ## Supplier: Provide WeekBasedCapacityGroup ### Provide valid WeekBasedCapacityGroup -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide WeekBasedCapacityGroup @@ -493,9 +816,12 @@ Scenario: Provide valid existing WeekBasedCapacityGroup Then I should get an http 200 status message ``` +
+ ### Provide invalid WeekBasedCapacityGroup -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide WeekBasedCapacityGroup @@ -506,9 +832,12 @@ Scenario: Provide invalid WeekBasedCapacityGroup Then I should get an http 400 status message ``` +
+ ### Provide WeekBasedCapacityGroup for base journey -The supplier sends the previously created WeekBasedCapacityGroups to the customer as two separate data transfers. +
+The supplier sends the previously created WeekBasedCapacityGroups to the customer as two separate data transfers. ```cucumber Feature: Supplier: Provide WeekBasedCapacityGroup @@ -522,13 +851,77 @@ Examples: | testCapacityGroup | fileTransfer | http status code | | CG_alpha, CG_beta | FT_gamma | 200 OK | | CG_gamma, CG_delta | FT_delta | 200 OK | + ``` +
+ +### Provide WeekBasedCapacityGroup for volatility metrics journey + +
+The supplier sends the previously created WeekBasedCapacityGroups to the customer. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario Outline: Provide WeekBasedCapacityGroup for volatility metrics journey + Given I have successfully created capacity group alpha as described in Create WeekBasedCapacityGroup for volatility metrics journey + When I try to provide my customer with as + Then I should get from my customer. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_gamma | 200 OK | +``` + +
+ +### Provide WeekBasedCapacityGroup for simulated delta production journey + +
+The supplier sends the previously created WeekBasedCapacityGroups to the customer. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario Outline: Provide WeekBasedCapacityGroup for simulated delta production journey + Given I have successfully created capacity group alpha as described in Create WeekBasedCapacityGroup for simulated delta production journey + When I try to provide my customer with as + Then I should get from my customer. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_beta | 200 OK | +``` + +
+ +### Provide WeekBasedCapacityGroup for load factors journey + +
+The supplier sends the previously created WeekBasedCapacityGroups to the customer. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario Outline: Provide WeekBasedCapacityGroup for load factors journey + Given I have successfully created capacity group alpha as described in Create WeekBasedCapacityGroup for load factors journey + When I try to provide my customer with as + Then I should get from my customer. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha | FT_beta | 200 OK | +``` + +
+ ## Supplier: Visualize CapacityGroup together with MaterialDemand ### Bottleneck calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Supplier: Visualize CapacityGroup together with MaterialDemand @@ -547,9 +940,12 @@ Examples: | actual capacity < maximum capacity < demand | red | bottleneck | ``` +
+ ### Surplus calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Supplier: Visualize CapacityGroup together with MaterialDemand @@ -566,9 +962,12 @@ Examples: | demand < actual capacity < maximum capacity | green | surplus | ``` +
+ ### Zero deviation calculation -This test checks the basic implementation of the GUI. +
+This test checks the basic implementation of the GUI. ```cucumber Feature: Supplier: Visualize CapacityGroup together with MaterialDemand @@ -585,9 +984,12 @@ Examples: | demand = actual capacity < maximum capacity | green | zero deviation | ``` +
+ ### Calculation for base journey -The supplier compares the demand data, received from the customer, to the capacity data, sent to the customer. +
+The supplier compares the demand data, received from the customer, to the capacity data, sent to the customer. ```cucumber Feature: Supplier: Visualize CapacityGroup together with MaterialDemand @@ -610,11 +1012,104 @@ Examples: | CG_beta | MD_beta, MD_gamma | 14 | 2026 | zero deviation | Demand = actual capacity < maximum capacity | green | ``` +
+ +### Calculation for volatility metrics journey + +
+The supplier compares the demand data, received from the customer, to the capacity data, sent to the customer. This triggers multiple volatility alerts. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for volatility metrics journey + Given I have successfully consumed + * I have successfully created + * are the basis for the comparison within the GUI + When I compare demand and capacity data for + Then I should get for in + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | MostRecentMaterialDemand | week | year | volatility alert | +| CG_alpha | MD_alpha_v1, MD_alpha_v2 | MD_alpha_v1, MD_alpha_v2 | 21, 27 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2 | MD_alpha_v1, MD_alpha_v2 | 24,26 | 2026 | absolute positive deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3 | MD_alpha_v2, MD_alpha_v3 | 25, 28 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3 | MD_alpha_v2, MD_alpha_v3 | 20 | 2026 | absolute positive deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3, MD_alpha_v4 | MD_alpha_v3, MD_alpha_v4 | 24 | 2026 | absolute negative deviation exceeded | +| CG_alpha | MD_alpha_v1, MD_alpha_v2, MD_alpha_v3, MD_alpha_v4 | MD_alpha_v3, MD_alpha_v4 | 23, 28 | 2026 | absolute positive deviation exceeded | +``` + +
+ +### Calculation for simulated delta production journey + +
+The supplier compares the demand data, sent to the supplier, to the capacity data, received from the supplier. This comparison takes deltaProductionResult into account. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for simulated delta production journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should get for in after considering deltaProductionResult + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | result | case | color | +| CG_alpha | MD_alpha | 29 | 2026 | surplus | (demand + deltaProductionResult) < actual capacity = maximum capacity | green | +| CG_alpha | MD_alpha | 20,21,22,23,24,28 | 2026 | zero deviation | (demand + deltaProductionResult) = actual capacity = maximum capacity | green | +``` + +
+ +### Calculation for load factors journey + +
+The supplier compares the demand data, sent to the supplier, to the capacity data, received from the supplier. This comparison takes load factors into account. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for load factors journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should see that differs from for in . + * I should see that differs from . + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | UI demand | data demand | capacity data and UI unit of measure | demand data unit of measure | +| CG_alpha | MD_alpha | 32 | 2024 | 80 | 80 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 21 | 2026 | 50 | 50 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 22 | 2026 | 100 | 100 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 23 | 2026 | 75 | 75 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 24 | 2026 | 60 | 60 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 25 | 2026 | 90 | 90 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 26 | 2026 | 20 | 20 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 27 | 2026 | 110 | 110 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 28 | 2026 | 225 | 225 | unit:cycles | unit:pieces | +| CG_alpha | MD_alpha | 29 | 2026 | 0 | 0 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 32 | 2024 | 140 | 70 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 21 | 2026 | 200 | 100 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 22 | 2026 | 100 | 50 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 23 | 2026 | 150 | 75 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 24 | 2026 | 180 | 90 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 25 | 2026 | 120 | 60 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 26 | 2026 | 260 | 130 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 27 | 2026 | 80 | 40 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 28 | 2026 | 0 | 0 | unit:cycles | unit:pieces | +| CG_alpha | MD_beta | 29 | 2026 | 220 | 110 | unit:cycles | unit:pieces | +``` + +
+ ## Supplier: Create IdBasedRequestForUpdate ### Create valid IdBasedRequestForUpdate -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create IdBasedRequestForUpdate @@ -639,9 +1134,12 @@ Examples: ``` +
+ ### Create invalid IdBasedRequestForUpdate -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create IdBasedRequestForUpdate @@ -661,9 +1159,12 @@ Examples: ``` +
+ ### Create IdBasedRequestForUpdate for base journey -The supplier creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedMaterialDemand Alpha, identified via {{UUID_MD1}}. +
+The supplier creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedMaterialDemand Alpha, identified via {'{UUID_MD1}'}. ```cucumber Feature: Supplier: Create IdBasedRequestForUpdate @@ -681,11 +1182,14 @@ Examples: | RU_beta | [ {"capacityGroupId" : {{UUID_MD1}}}] | {{OMITTED}} | ``` +
+ ## Supplier: Consume IdBasedRequestForUpdate ### Consume valid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Consume IdBasedRequestForUpdate @@ -696,9 +1200,12 @@ Scenario: Consume valid IdBasedRequestForUpdate Then I should be able to consume it, send my customer a http 200 status message and provide my customer with the data requested, if applicable ``` +
+ ### Consume invalid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Consume IdBasedRequestForUpdate @@ -709,9 +1216,12 @@ Scenario: Consume invalid IdBasedRequestForUpdate Then I should not consume it and send my customer a http 400 status message ``` +
+ ### Consume IdBasedRequestForUpdate for base journey -The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. +
+The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. ```cucumber Feature: Supplier: Consume IdBasedRequestForUpdate @@ -727,11 +1237,14 @@ Examples: | FT_epsilon | RU_alpha | FT_eta | CG_alpha | ``` +
+ ## Supplier: Provide IdBasedRequestForUpdate ### Provide valid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide IdBasedRequestForUpdate @@ -742,9 +1255,12 @@ Scenario: Provide valid IdBasedRequestForUpdate Then I should get an http 200 status message ``` +
+ ### Provide invalid IdBasedRequestForUpdate -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide invalid IdBasedRequestForUpdate @@ -755,8 +1271,13 @@ Scenario: Provide invalid IdBasedRequestForUpdate Then I should get an http 400 status message ``` +
+ ### Provide IdBasedRequestForUpdate for base journey +
+The supplier sends the previously created IdBasedRequestForUpdate to the customer and expects one WeekBasedMaterialDemand in return. + ```cucumber Feature: Supplier: Provide IdBasedRequestForUpdate @@ -771,11 +1292,14 @@ Examples: | FT_zeta | RU_beta | FT_theta | MD_gamma | ``` +
+ ## Supplier: Consume IdBasedComment ### Consume valid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Consume IdBasedComment @@ -791,9 +1315,12 @@ Scenario: Consume valid known IdBasedComment Then I should be able to consume it and send my customer a http 200 status message ``` +
+ ### Consume invalid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Consume IdBasedComment @@ -804,8 +1331,13 @@ Scenario: Consume invalid IdBasedComment Then I should not consume it and send my customer a http 400 status message ``` +
+ ### Consume IdBasedComment for base journey +
+The supplier receives the previously created IdBasedComment from the customer. + ```cucumber Feature: Supplier: Consume IdBasedComment @@ -819,11 +1351,14 @@ Examples: | FT_iota | CT_alpha, CT_beta | ``` +
+ ## Supplier: Create IdBasedComment ### Create valid IdBasedComment -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create IdBasedComment @@ -871,9 +1406,12 @@ Examples: | | | | | | | | | | | | 2024-03-11T11:27:11.320Z | ``` +
+ ### Create invalid IdBasedComment -This test checks the implementation of the aspect model as well as some edge cases. +
+This test checks the implementation of the aspect model as well as some edge cases. ```cucumber Feature: Supplier: Create IdBasedComment @@ -916,8 +1454,13 @@ Examples: | | | | | | | | | | | | 2000-01-0 | AspectModel Conformity Error: changedAt | ``` +
+ ### Create IdBasedComment for base journey +
+The supplier creates two IdBasedComment used by the base journey. + ```cucumber Feature: Customer: Create IdBasedComment @@ -944,11 +1487,14 @@ Examples: | CT_delta | {{UUID_COM4}} | {{UUID_CG1}} | default | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Capacity set to 0 in CW45 due to machine maintenance. Please set demand in CW 45 to 0." | false | urn:samm:io.catenax.week_based_capacity_group | {{TS_NOW}} | {{TS_NOW}} | ``` +
+ ## Supplier: Provide IdBasedComment ### Provide valid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide IdBasedComment @@ -964,9 +1510,12 @@ Scenario: Provide valid existing IdBasedComment Then I should get an http 200 status message ``` +
+ ### Provide invalid IdBasedComment -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide IdBasedComment @@ -977,9 +1526,12 @@ Scenario: Provide invalid IdBasedComment Then I should get an http 400 status message ``` +
+ ### Provide IdBasedComment for base journey -This test checks the basic implementation of the API. +
+This test checks the basic implementation of the API. ```cucumber Feature: Supplier: Provide IdBasedComment @@ -994,11 +1546,14 @@ Examples: | FT_kappa | CT_gamma, CT_delta | ``` +
+ ## Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand ### Comment linked to WeekBasedCapacityGroup -This test checks the basic implementation of the comment feature within the GUI. +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand @@ -1010,9 +1565,12 @@ Scenario: Comment linked to WeekBasedCapacityGroup * I should be able to view this comment by navigating to the WeekBasedCapacityGroup the comment is linking ``` +
+ ### Comment linked to WeekBasedMaterialDemand -This test checks the basic implementation of the comment feature within the GUI. +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand @@ -1026,9 +1584,12 @@ Scenario: Comment linked to WeekBasedMaterialDemand * the comments should be presented in a tree view ``` +
+ ### Comment linked to IdBasedComment -This test checks the basic implementation of the comment feature within the GUI. +
+This test checks the basic implementation of the comment feature within the GUI. ```cucumber Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand @@ -1041,6 +1602,8 @@ Scenario: Comment linked to IdBasedComment * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the IdBasedComment is linking, the comment is linking ``` +
+ ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode)