Test - Customer
Introduction
This page lists tests that can be executed by the business role customer.
They are written in Gherkin.
For an overview of these tests you should visit Testing a DCM application within the Development View of this KIT.
Customer: Prepare yourself
Setup EDC
This test ensures that the customer sets up its EDC.
Feature: Customer: Prepare yourself
Scenario: Setup EDC
Given I have joined the Catena-X dataspace and want to execute DCM tests
When I check whether I have setup my EDC or not
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.
Feature: Customer: Prepare yourself
Scenario Outline: Register APIs as assets
Given my EDC has been setup correctly
When I check the asset catalog of my own EDC
Then I should find an asset for the <API> with the correct <taxonomy> and <version>
Examples:
| API | taxonomy | version |
| WeekBasedCapacityGroup API | cx-taxo:DcmWeekBasedCapacityGroup | 2.0 |
| RequestForUpdate API | cx-taxo:DcmIdBasedRequestForUpdate | 2.0 |
| IdBasedComment API | cx-taxo:DcmIdBasedComment | 2.0 |
Check wallet for certificates
This test ensures that the customer has the necessary credentials in its wallet.
Feature: Customer: Prepare yourself
Scenario Outline: Check wallet for certificates
Given I have been successfully onboarded into the Catena-X dataspace
When I check my wallet
Then I should find a <credential> that corresponds to a <policy>
Examples:
| credential | policy |
| BPN-restricted Data Usage | BPN-restricted Data Usage |
| Membership Credential | Membership Credential |
| 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.
Feature: Customer: Prepare yourself
Scenario Outline: Prepare variables for other tests
Given I want to execute a <test> that uses a <variable> I need to have a <value> assigned to <variable> that makes sense in the context of the <test> and use the value of the variable instead of its name when testing.
When the test gets executed
Then it should work as intended
Examples:
| test | variable | value |
| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | BPNL_SUP | {Business Partner Number Legal (BPNL) of the company that acts as the business role Supplier in the context of the test execution e.g. BPNL00000000052O } |
| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | BPNL_CUS | {Use your own Business Partner Number Legal (BPNL) e.g. BPNL000000000JS9} |
| Customer: Create WeekBasedMaterialDemand | BPNS_SUP1 | {A Business Partner Number Site (BPNS) of the company that acts as the business role Supplier in the context of the test execution } |
| Customer: Create WeekBasedMaterialDemand | BPNS_CUS1 | {Use one of your own Business Partner Number Site (BPNS)} |
| Customer: Create WeekBasedMaterialDemand | BPNS_CUS2 | {Use one of your own Business Partner Number Site (BPNS)} |
| Customer: Create WeekBasedMaterialDemand | BPNS_CUS3 | {Use one of your own Business Partner Number Site (BPNS)} |
| Customer: Create WeekBasedMaterialDemand | DSC_MAT1 | {Description of the material e.g. spark plug} |
| Customer: Create WeekBasedMaterialDemand | DSC_MAT2 | {Description of the material e.g. spark plug} |
| Customer: Create WeekBasedMaterialDemand | DSC_MAT3 | {Description of the material e.g. spark plug} |
| Customer: Create WeekBasedMaterialDemand | UUID_MD1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | UUID_MD2 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | UUID_MD3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand | UUID_GA1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand | UUID_GA2 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand | UUID_GA3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create WeekBasedMaterialDemand | UUID_GA4 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create IdBasedComment | UUID_COM1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create IdBasedComment | UUID_COM3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} |
| Customer: Create IdBasedRequestForUpdate | UUID_CG1 | {UUIDv4 that gets generated by the supplier. Known to the customer as soon as consuming the corresponding WeekBasedCapacityGroup.} |
| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | TS_NOW | {Timestamp that represents the system time when the corresponding aspect model gets created e.g. 2023-11-05T08:15:30.123-05:00} |
| 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.
Feature: Customer: Prepare yourself
Scenario Outline: Prepare for base journey
Given I want to execute the base journey which uses <object> in <test> to fulfill a certain <function> that I need to be aware of in order to execute my part of the base journey successfully
When the test gets executed
Then it should work as intended
Examples:
| object | function | test |
| MD_alpha | A WeekBasedMaterialDemand created by the customer and transferred via Filetransfer Alpha | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey |
| MD_beta | A WeekBasedMaterialDemand created by the customer and transferred via Filetransfer Alpha | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey, Calculation for base journey |
| MD_gamma | A WeekBasedMaterialDemand created by the customer and transferred via Filetransfer Alpha and Theta | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey, Calculation for base journey, Consume IdBasedRequestForUpdate for base journey |
| MD_delta | A WeekBasedMaterialDemand created by the customer and transferred via Filetransfer Beta | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey |
| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transferred via Filetransfer Gamma and Eta | Consume WeekBasedCapacityGroup for base journey, Provide IdBasedRequestForUpdate for base journey |
| CG_beta | A WeekBasedCapacityGroup created by the supplier and transferred via Filetransfer Gamma | Consume WeekBasedCapacityGroup for base journey, Calculation for base journey |
| CG_gamma | A WeekBasedCapacityGroup created by the supplier and transferred via Filetransfer Delta | Consume WeekBasedCapacityGroup for base journey |
| CG_delta | A WeekBasedCapacityGroup created by the supplier and transferred via Filetransfer Delta | Consume WeekBasedCapacityGroup for base journey |
| RU_alpha | An IdBasedRequestForUpdate created by the customer and transferred via Filetransfer Epsilon | Create IdBasedRequestForUpdate for base journey, Provide IdBasedRequestForUpdate for base journey |
| RU_beta | An IdBasedRequestForUpdate created by the supplier and transferred via Filetransfer Zeta | Consume IdBasedRequestForUpdate for base journey |
| CT_alpha | An IdBasedComment created by the customer and transferred via Filetransfer Iota | Create IdBasedComment for base journey, Provide IdBasedComment for base journey |
| CT_beta | An IdBasedComment created by the customer and transferred via Filetransfer Iota | Create IdBasedComment for base journey, Provide IdBasedComment for base journey |
| CT_gamma | An IdBasedComment created by the supplier and transferred via Filetransfer Kappa | Consume IdBasedComment for base journey |
| CT_delta | An IdBasedComment created by the supplier and transferred via Filetransfer Kappa | Consume IdBasedComment for base journey |
| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for base journey |
| FT_beta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for base journey |
| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for base journey |
| FT_delta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for base journey |
| FT_epsilon | A Filetransfer providing IdBasedRequestForUpdate for the supplier to consume | Provide IdBasedRequestForUpdate for base journey |
| FT_eta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide IdBasedRequestForUpdate for base journey |
| FT_zeta | A Filetransfer providing IdBasedRequestForUpdate for the customer to consume | Consume IdBasedRequestForUpdate for base journey |
| FT_theta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume IdBasedRequestForUpdate for base journey |
| FT_iota | A Filetransfer providing IdBasedComment for the supplier to consume | Provide IdBasedComment for base journey |
| FT_kappa | A Filetransfer providing IdBasedComment for the customer to consume | Consume IdBasedComment for base journey |
Prepare for volatility metrics journey
This test ensures that the customer is aware of the sequence of communication and naming conventions within the volatility metrics journey.
Feature: Customer: Prepare yourself
Scenario Outline: Prepare for volatility metrics journey
Given I want to execute the volatility metrics journey which uses <object> in <test> to fulfill a certain <function> that I need to be aware of in order to execute my part of the volatility metrics journey successfully
When the test gets executed
Then it should work as intended
Examples:
| object | function | test |
| MD_alpha_v1 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey |
| MD_alpha_v2 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Beta | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey |
| MD_alpha_v3 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Delta | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey |
| MD_alpha_v4 | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Epsilon | Create WeekBasedMaterialDemand for volatility metrics journey, Provide WeekBasedMaterialDemand for volatility metrics journey |
| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma | Consume WeekBasedCapacityGroup for volatility metrics journey |
| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey |
| FT_beta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey |
| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for volatility metrics journey |
| FT_delta | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey |
| FT_epsilon | A Filetransfer providing updated WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for volatility metrics journey |
Prepare for simulated delta production journey
This test ensures that the customer is aware of the sequence of communication and naming conventions within the simulated delta production journey.
Feature: Customer: Prepare yourself
Scenario Outline: Prepare for simulated delta production journey
Given I want to execute the simulated delta production journey which uses <object> in <test> to fulfill a certain <function> that I need to be aware of in order to execute my part of the simulated delta production journey successfully
When the test gets executed
Then it should work as intended
Examples:
| object | function | test |
| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for simulated delta production journey, Provide WeekBasedMaterialDemand for simulated delta production journey |
| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Consume WeekBasedCapacityGroup for simulated delta production journey |
| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for simulated delta production journey |
| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for simulated delta production journey |
Prepare for load factors journey
This test ensures that the customer is aware of the sequence of communication and naming conventions within the load factors journey.
Feature: Customer: Prepare yourself
Scenario Outline: Prepare for load factors journey
Given I want to execute the load factors journey which uses <object> in <test> to fulfill a certain <function> that I need to be aware of in order to execute my part of the load factors journey successfully
When the test gets executed
Then it should work as intended
Examples:
| object | function | test |
| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for load factor journey, Provide WeekBasedMaterialDemand for load factor journey |
| MD_beta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for load factor journey, Provide WeekBasedMaterialDemand for load factor journey |
| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Beta | Consume WeekBasedCapacityGroup for load factor journey |
| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for load factor journey |
| FT_beta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for load factor journey |
Customer: Create WeekBasedMaterialDemand
Create valid WeekBasedMaterialDemand
This test checks the implementation of the aspect model as well as some edge cases.
Feature: Customer: Create WeekBasedMaterialDemand
Scenario Outline: Try to generate valid WeekBasedMaterialDemand
Given the value for the property "materialDemandId" is <v_materialDemandId> with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110"
* the value for the property "changedAt" is <v_changedAt> with a default value of "{{TS_NOW}}"
* the value for the property "customer" is <v_customer> with a default value of "{{BPNL_CUS}}"
* the value for the property "supplier" is <v_supplier> with a default value of "{{BPNL_SUP}}"
* the value for the property "materialDemandIsInactive" is <v_materialDemandIsInactive> with a default value of "false"
* the value for the property "unitOfMeasure" is <v_unitOfMeasure> with a default value of "unit:piece"
* the value for the property "unitOfMeasureIsOmitted" is <v_unitOfMeasureIsOmitted> with a default value of "false"
* the value for the property "materialGlobalAssetId" is <v_materialGlobalAssetId> with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df"
* the value for the property "materialNumberCustomer" is <v_materialNumberCustomer> with a default value of "MNR-7307-AU340474.002"
* the value for the property "materialNumberSupplier" is <v_materialNumberSupplier> with a default value of "MNR-8101-ID146955.001"
* the value for the property "materialDescriptionCustomer" is <v_materialDescriptionCustomer> with a default value of "Spark Plug"
* the value for the property "demandSeries" contains entities
* the value for the property "customerLocation" is <v_customerLocation> with a default value of "{{BPNS_CUS1}}"
* the value for the property "expectedSupplierLocation" is <v_expectedSupplierLocation> with a default value of "{{BPNS_SUP1}}"
* the value for the property "demandCategoryCode" is <v_demandCategoryCode> with a default value of "0001"
* the value for the property "pointInTime" is <v_pointInTime> with a default value of "2023-10-09"
* the value for the property "demand" is <v_demand> with a default value of "1000"
When the application tries to generate the WeekBasedMaterialDemand
Then it should generate the WeekBasedMaterialDemand
Examples:
| 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.
Feature: Customer: Create WeekBasedMaterialDemand
Scenario Outline: Try to generate invalid WeekBasedMaterialDemand
Given the value for the property "materialDemandId" is <v_materialDemandId> with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110"
* the value for the property "changedAt" is <v_changedAt> with a default value of "{{TS_NOW}}"
* the value for the property "customer" is <v_customer> with a default value of "{{BPNL_CUS}}"
* the value for the property "supplier" is <v_supplier> with a default value of "{{BPNL_SUP}}"
* the value for the property "materialDemandIsInactive" is <v_materialDemandIsInactive> with a default value of "false"
* the value for the property "unitOfMeasure" is <v_unitOfMeasure> with a default value of "unit:piece"
* the value for the property "unitOfMeasureIsOmitted" is <v_unitOfMeasureIsOmitted> with a default value of "false"
* the value for the property "materialGlobalAssetId" is <v_materialGlobalAssetId> with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df"
* the value for the property "materialNumberCustomer" is <v_materialNumberCustomer> with a default value of "MNR-7307-AU340474.002"
* the value for the property "materialNumberSupplier" is <v_materialNumberSupplier> with a default value of "MNR-8101-ID146955.001"
* the value for the property "materialDescriptionCustomer" is <v_materialDescriptionCustomer> with a default value of "Spark Plug"
* the value for the property "demandSeries" contains entities
* the value for the property "customerLocation" is <v_customerLocation> with a default value of "{{BPNS_CUS1}}"
* the value for the property "expectedSupplierLocation" is <v_expectedSupplierLocation> with a default value of "{{BPNS_SUP1}}"
* the value for the property "demandCategoryCode" is <v_demandCategoryCode> with a default value of "0001"
* the value for the property "pointInTime" is <v_pointInTime> with a default value of "2023-10-09"
* the value for the property "demand" is <v_demand> with a default value of "1000"
When the application tries to generate the WeekBasedMaterialDemand
Then it should NOT generate the WeekBasedMaterialDemand and throw an <error> instead
Examples:
| 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.
Feature: Customer: Create WeekBasedMaterialDemand
Scenario Outline: Try to generate WeekBasedMaterialDemand for base journey using different <v_tests>
Given the value for the property "materialDemandId" is <v_materialDemandId>
* the value for the property "changedAt" is <v_changedAt>
* the value for the property "customer" is <v_customer>
* the value for the property "supplier" is <v_supplier>
* the value for the property "materialDemandIsInactive" is <v_materialDemandIsInactive>
* the value for the property "unitOfMeasure" is <v_unitOfMeasure>
* the value for the property "unitOfMeasureIsOmitted" is <v_unitOfMeasureIsOmitted>
* the value for the property "materialGlobalAssetId" is <v_materialGlobalAssetId>
* the value for the property "materialNumberCustomer" is <v_materialNumberCustomer>
* the value for the property "materialNumberSupplier" is <v_materialNumberSupplier>
* the value for the property "materialDescriptionCustomer" is <v_materialDescriptionCustomer>
* 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
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 |