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
+
+### 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
+
+### 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
+
+### 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
+
## 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
+
+### 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
+
+### 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
+
+### 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
+
## 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)