@globisnv/cypress-core 0.0.10 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/biome.json +11 -0
  2. package/dist/blueprints/GLO_consignment.js +1 -0
  3. package/dist/blueprints/GLO_consignmentCustoms.d.ts +24 -0
  4. package/dist/blueprints/GLO_consignmentCustoms.js +24 -0
  5. package/dist/blueprints/GLO_consignmentCustomsSettings.d.ts +11 -0
  6. package/dist/blueprints/GLO_consignmentCustomsSettings.js +11 -0
  7. package/dist/blueprints/GLO_customsDeclaration.d.ts +22 -0
  8. package/dist/blueprints/GLO_customsDeclaration.js +22 -0
  9. package/dist/blueprints/GLO_customsDeclarationDetail.d.ts +20 -0
  10. package/dist/blueprints/GLO_customsDeclarationDetail.js +20 -0
  11. package/dist/blueprints/GLO_customsDeclarationDocument.d.ts +9 -0
  12. package/dist/blueprints/GLO_customsDeclarationDocument.js +9 -0
  13. package/dist/blueprints/GLO_dangerousGoods.d.ts +10 -0
  14. package/dist/blueprints/GLO_dangerousGoods.js +9 -0
  15. package/dist/blueprints/GLO_logisticContract.d.ts +14 -0
  16. package/dist/blueprints/GLO_logisticContract.js +53 -11
  17. package/dist/blueprints/GLO_logisticContractCustomsDefinition.d.ts +22 -0
  18. package/dist/blueprints/GLO_logisticContractCustomsDefinition.js +22 -0
  19. package/dist/blueprints/GLO_logisticContractDetail.d.ts +11 -1
  20. package/dist/blueprints/GLO_logisticContractDetail.js +33 -8
  21. package/dist/blueprints/GLO_logisticContractDetailCustoms.d.ts +11 -0
  22. package/dist/blueprints/GLO_logisticContractDetailCustoms.js +11 -0
  23. package/dist/blueprints/GLO_logisticContractDetailHandling.d.ts +1 -0
  24. package/dist/blueprints/GLO_logisticContractDetailHandling.js +1 -0
  25. package/dist/blueprints/GLO_logisticContractDetailItem.js +1 -1
  26. package/dist/blueprints/GLO_logisticContractItem.d.ts +9 -0
  27. package/dist/blueprints/GLO_logisticContractItem.js +31 -4
  28. package/dist/blueprints/GLO_logisticLocationType.d.ts +4 -0
  29. package/dist/blueprints/GLO_logisticLocationType.js +4 -0
  30. package/dist/blueprints/GLO_planBloc.d.ts +6 -0
  31. package/dist/blueprints/GLO_planBloc.js +6 -0
  32. package/dist/blueprints/GLO_priceEntry.d.ts +1 -0
  33. package/dist/blueprints/GLO_priceEntry.js +1 -0
  34. package/dist/blueprints/GLO_purchaseOrderLine.js +4 -0
  35. package/dist/blueprints/GLO_relations.js +4 -4
  36. package/dist/blueprints/GLO_stopSchedule.d.ts +11 -0
  37. package/dist/blueprints/GLO_stopSchedule.js +11 -0
  38. package/dist/blueprints/GLO_transportScenario.d.ts +4 -0
  39. package/dist/blueprints/GLO_transportScenario.js +4 -0
  40. package/dist/blueprints/GLO_transportScenarioExecution.d.ts +6 -0
  41. package/dist/blueprints/GLO_transportScenarioExecution.js +5 -0
  42. package/dist/blueprints/GLO_transportScenarioRegion.d.ts +5 -0
  43. package/dist/blueprints/GLO_transportScenarioRegion.js +5 -0
  44. package/dist/blueprints/GLO_zoneTypeEntityType.d.ts +4 -0
  45. package/dist/blueprints/GLO_zoneTypeEntityType.js +4 -0
  46. package/dist/commands/GLO_commands.js +72 -39
  47. package/dist/commands/GLT_commands.js +2 -2
  48. package/dist/config.js +4 -2
  49. package/dist/websocketDetector.js +148 -114
  50. package/package.json +9 -6
  51. package/template/.gitattributes +12 -0
  52. package/template/package.json +5 -2
package/biome.json CHANGED
@@ -1,5 +1,10 @@
1
1
  {
2
2
  "$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
3
+ "vcs": {
4
+ "enabled": true,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": true
7
+ },
3
8
  "files": {
4
9
  "includes": ["**", "!dist", "!template"]
5
10
  },
@@ -24,6 +29,12 @@
24
29
  "complexity": {
25
30
  "noUselessTernary": "error"
26
31
  },
32
+ "correctness": {
33
+ "noUnusedImports": {
34
+ "level": "error",
35
+ "fix": "safe"
36
+ }
37
+ },
27
38
  "style": {
28
39
  "useTemplate": "error",
29
40
  "noNonNullAssertion": "off",
@@ -15,6 +15,7 @@ export const GLO_enterConsignment = (obj, formName = defaultFormName, formNameGe
15
15
  cy.GLO_checkLoadingIndicator();
16
16
  }
17
17
  cy.GLO_addInput([formName, 'consignment_subtype'], obj.consignmentSubType);
18
+ cy.GLO_addInput([formName, 'default_consignment_description'], obj.defaultConsignmentDescription);
18
19
  cy.GLO_addInput([formName, 'relation_reference'], obj.relationReference);
19
20
  cy.GLO_addInput([formName, 'delivery_condition'], obj.deliveryCondition);
20
21
  cy.GLO_addInput([formName, 'local_invoice_relation_code'], obj.invoiceRelation);
@@ -0,0 +1,24 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objConsignmentCustoms = {
3
+ sequenceNr?: number;
4
+ customsType?: string;
5
+ customsOfficeDefinition?: string;
6
+ customsOfficeAddress?: string;
7
+ customsResponsibility?: string;
8
+ customsRelation?: string;
9
+ customerCustomsBroker?: string;
10
+ flagBlocked?: CheckState;
11
+ flagWeekendClearance?: CheckState;
12
+ remarks?: string;
13
+ outboundStopDefinition?: string;
14
+ outboundStop?: string;
15
+ outboundHandling?: string;
16
+ outboundDocumentType?: string;
17
+ flagOutboundOk?: CheckState;
18
+ inboundStopDefinition?: string;
19
+ inboundStop?: string;
20
+ inboundHandling?: string;
21
+ inboundDocumentType?: string;
22
+ flagInboundOk?: CheckState;
23
+ };
24
+ export declare const GLO_enterConsignmentCustoms: (obj: objConsignmentCustoms) => void;
@@ -0,0 +1,24 @@
1
+ export const GLO_enterConsignmentCustoms = (obj) => {
2
+ const formName = 'ng$consignment_customs_dtl';
3
+ cy.GLO_addInput([formName, 'sequence_nr'], obj.sequenceNr);
4
+ cy.GLO_addInput([formName, 'customs_type'], obj.customsType);
5
+ cy.GLO_addInput([formName, 'customs_office_definition'], obj.customsOfficeDefinition);
6
+ cy.GLO_popupWindow([formName, 'customs_office_address_id'], obj.customsOfficeAddress);
7
+ cy.GLO_addInput([formName, 'customs_responsibility'], obj.customsResponsibility);
8
+ cy.GLO_popupWindow([formName, 'customs_relation_id'], obj.customsRelation);
9
+ cy.GLO_addInput([formName, 'customer_customs_broker'], obj.customerCustomsBroker);
10
+ cy.GLO_checkbox([formName, 'flag_blocked'], obj.flagBlocked);
11
+ cy.GLO_checkbox([formName, 'flag_weekend_clearance'], obj.flagWeekendClearance);
12
+ cy.GLO_addInput([formName, 'remarks'], obj.remarks);
13
+ cy.GLO_addInput([formName, 'outbound_stop_definition'], obj.outboundStopDefinition);
14
+ // Stop and handling have no code column, so they are selector components rather than valuelists.
15
+ cy.GLO_popupWindow([formName, 'outbound_stop_id'], obj.outboundStop);
16
+ cy.GLO_popupWindow([formName, 'outbound_handling_id'], obj.outboundHandling);
17
+ cy.GLO_addInput([formName, 'outbound_document_type_id'], obj.outboundDocumentType);
18
+ cy.GLO_checkbox([formName, 'flag_outbound_ok'], obj.flagOutboundOk);
19
+ cy.GLO_addInput([formName, 'inbound_stop_definition'], obj.inboundStopDefinition);
20
+ cy.GLO_popupWindow([formName, 'inbound_stop_id'], obj.inboundStop);
21
+ cy.GLO_popupWindow([formName, 'inbound_handling_id'], obj.inboundHandling);
22
+ cy.GLO_addInput([formName, 'inbound_document_type_id'], obj.inboundDocumentType);
23
+ cy.GLO_checkbox([formName, 'flag_inbound_ok'], obj.flagInboundOk);
24
+ };
@@ -0,0 +1,11 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objConsignmentCustomsSettings = {
3
+ flagCustoms?: CheckState;
4
+ customsFlow?: string;
5
+ gmr?: string;
6
+ consignor?: string;
7
+ consignorAddress?: string;
8
+ consignee?: string;
9
+ consigneeAddress?: string;
10
+ };
11
+ export declare const GLO_enterConsignmentCustomsSettings: (obj: objConsignmentCustomsSettings) => void;
@@ -0,0 +1,11 @@
1
+ export const GLO_enterConsignmentCustomsSettings = (obj) => {
2
+ const formName = 'ng$consignment_dtl_customs';
3
+ cy.GLO_checkbox([formName, 'flag_customs'], obj.flagCustoms);
4
+ cy.GLO_addInput([formName, 'customs_flow_id'], obj.customsFlow);
5
+ cy.GLO_addInput([formName, 'gmr'], obj.gmr);
6
+ // The four party fields are selector components, so they open a selection window instead of a dropdown.
7
+ cy.GLO_popupWindow([formName, 'consignor_id'], obj.consignor);
8
+ cy.GLO_popupWindow([formName, 'consignor_address'], obj.consignorAddress);
9
+ cy.GLO_popupWindow([formName, 'consignee_id'], obj.consignee);
10
+ cy.GLO_popupWindow([formName, 'consignee_address'], obj.consigneeAddress);
11
+ };
@@ -0,0 +1,22 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objCustomsDeclaration = {
3
+ consignmentCustomsSequenceNr?: number;
4
+ customsType?: string;
5
+ transportMethod?: string;
6
+ deliveryCondition?: string;
7
+ emergencyProcedureCode?: string;
8
+ flagBlocked?: CheckState;
9
+ consignor?: string;
10
+ consignorAddress?: string;
11
+ consignee?: string;
12
+ consigneeAddress?: string;
13
+ customsReference?: string;
14
+ externalReference?: string;
15
+ traderReference?: string;
16
+ supplierReference?: string;
17
+ ensReference?: string;
18
+ customsPoao?: string;
19
+ customsCrn?: string;
20
+ sequenceNrLine?: number;
21
+ };
22
+ export declare const GLO_enterCustomsDeclaration: (obj: objCustomsDeclaration) => void;
@@ -0,0 +1,22 @@
1
+ export const GLO_enterCustomsDeclaration = (obj) => {
2
+ const formName = 'ng$customs_declaration_dtl';
3
+ cy.GLO_addInput([formName, 'consignment_customs_sequence_nr'], obj.consignmentCustomsSequenceNr);
4
+ cy.GLO_addInput([formName, 'customs_type'], obj.customsType);
5
+ cy.GLO_addInput([formName, 'transport_method_id'], obj.transportMethod);
6
+ cy.GLO_addInput([formName, 'deliverycondition_id'], obj.deliveryCondition);
7
+ cy.GLO_addInput([formName, 'emergency_procedure_code'], obj.emergencyProcedureCode);
8
+ cy.GLO_checkbox([formName, 'flag_blocked'], obj.flagBlocked);
9
+ // The four party fields are selector components, so they open a selection window instead of a dropdown.
10
+ cy.GLO_popupWindow([formName, 'consignor_id'], obj.consignor);
11
+ cy.GLO_popupWindow([formName, 'consignor_address'], obj.consignorAddress);
12
+ cy.GLO_popupWindow([formName, 'consignee_id'], obj.consignee);
13
+ cy.GLO_popupWindow([formName, 'consignee_address'], obj.consigneeAddress);
14
+ cy.GLO_addInput([formName, 'customs_reference'], obj.customsReference);
15
+ cy.GLO_addInput([formName, 'external_reference'], obj.externalReference);
16
+ cy.GLO_addInput([formName, 'trader_reference'], obj.traderReference);
17
+ cy.GLO_addInput([formName, 'supplier_reference'], obj.supplierReference);
18
+ cy.GLO_addInput([formName, 'ens_reference'], obj.ensReference);
19
+ cy.GLO_addInput([formName, 'customs_poao'], obj.customsPoao);
20
+ cy.GLO_addInput([formName, 'customs_crn'], obj.customsCrn);
21
+ cy.GLO_addInput([formName, 'sequence_nr_line'], obj.sequenceNrLine);
22
+ };
@@ -0,0 +1,20 @@
1
+ export type objCustomsDeclarationDetail = {
2
+ intrastatCode?: string;
3
+ intrastatCodeReceived?: string;
4
+ customsDescription?: string;
5
+ customsCountry?: string;
6
+ customsRegionCode?: string;
7
+ dgnUnNumber?: string;
8
+ sscc?: string;
9
+ packagingArticleUnit?: string;
10
+ customsPackagingCode?: string;
11
+ packagingQuantity?: number;
12
+ extraCustomsPackagingCode?: string;
13
+ extraPackagingQuantity?: number;
14
+ grossWeight?: number;
15
+ netWeight?: number;
16
+ weightUnit?: string;
17
+ invoiceAmount?: number;
18
+ currency?: string;
19
+ };
20
+ export declare const GLO_enterCustomsDeclarationDetail: (obj: objCustomsDeclarationDetail) => void;
@@ -0,0 +1,20 @@
1
+ export const GLO_enterCustomsDeclarationDetail = (obj) => {
2
+ const formName = 'ng$customs_declaration_detail_dtl';
3
+ cy.GLO_addInput([formName, 'intrastat_code_id'], obj.intrastatCode);
4
+ cy.GLO_addInput([formName, 'intrastat_code_received'], obj.intrastatCodeReceived);
5
+ cy.GLO_addInput([formName, 'customs_description'], obj.customsDescription);
6
+ cy.GLO_addInput([formName, 'customs_country_id'], obj.customsCountry);
7
+ cy.GLO_addInput([formName, 'customs_region_code'], obj.customsRegionCode);
8
+ cy.GLO_addInput([formName, 'dgn_un_number_id'], obj.dgnUnNumber);
9
+ cy.GLO_addInput([formName, 'sscc'], obj.sscc);
10
+ cy.GLO_addInput([formName, 'packaging_articleunit_id'], obj.packagingArticleUnit);
11
+ cy.GLO_addInput([formName, 'customs_packaging_code'], obj.customsPackagingCode);
12
+ cy.GLO_addInput([formName, 'packaging_quantity'], obj.packagingQuantity);
13
+ cy.GLO_addInput([formName, 'extra_customs_packaging_code'], obj.extraCustomsPackagingCode);
14
+ cy.GLO_addInput([formName, 'extra_packaging_quantity'], obj.extraPackagingQuantity);
15
+ cy.GLO_addInput([formName, 'gross_weight'], obj.grossWeight);
16
+ cy.GLO_addInput([formName, 'net_weight'], obj.netWeight);
17
+ cy.GLO_addInput([formName, 'weight_unit_id'], obj.weightUnit);
18
+ cy.GLO_addInput([formName, 'invoice_amount'], obj.invoiceAmount);
19
+ cy.GLO_addInput([formName, 'currency_id'], obj.currency);
20
+ };
@@ -0,0 +1,9 @@
1
+ export type objCustomsDeclarationDocument = {
2
+ documentType?: string;
3
+ customsType?: string;
4
+ customsOfficeDestinationAddress?: string;
5
+ customsMrn?: string;
6
+ customsUcr?: string;
7
+ customsLrn?: string;
8
+ };
9
+ export declare const GLO_enterCustomsDeclarationDocument: (obj: objCustomsDeclarationDocument) => void;
@@ -0,0 +1,9 @@
1
+ export const GLO_enterCustomsDeclarationDocument = (obj) => {
2
+ const formName = 'ng$customs_declaration_document_dtl';
3
+ cy.GLO_addInput([formName, 'document_type_id'], obj.documentType);
4
+ cy.GLO_addInput([formName, 'customs_type'], obj.customsType);
5
+ cy.GLO_popupWindow([formName, 'customs_office_destination_address_id'], obj.customsOfficeDestinationAddress);
6
+ cy.GLO_addInput([formName, 'customs_mrn'], obj.customsMrn);
7
+ cy.GLO_addInput([formName, 'customs_ucr'], obj.customsUcr);
8
+ cy.GLO_addInput([formName, 'customs_lrn'], obj.customsLrn);
9
+ };
@@ -0,0 +1,10 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objDangerousGoods = {
3
+ unNumber?: string;
4
+ flagAdr?: CheckState;
5
+ flagImdg?: CheckState;
6
+ flagRid?: CheckState;
7
+ flagAdnr?: CheckState;
8
+ flagLimitedQuantity?: CheckState;
9
+ };
10
+ export declare const GLO_enterDangerousGoods: (obj: objDangerousGoods) => void;
@@ -0,0 +1,9 @@
1
+ export const GLO_enterDangerousGoods = (obj) => {
2
+ const formName = 'ng$dgn_detail_dtl';
3
+ cy.GLO_popupWindow([formName, 'dgn_un_number'], obj.unNumber);
4
+ cy.GLO_checkbox([formName, 'flag_adr'], obj.flagAdr);
5
+ cy.GLO_checkbox([formName, 'flag_imdg'], obj.flagImdg);
6
+ cy.GLO_checkbox([formName, 'flag_rid'], obj.flagRid);
7
+ cy.GLO_checkbox([formName, 'flag_adnr'], obj.flagAdnr);
8
+ cy.GLO_checkbox([formName, 'flag_limited_qty'], obj.flagLimitedQuantity);
9
+ };
@@ -7,6 +7,7 @@ export type objLogisticContract = {
7
7
  validTill?: string;
8
8
  description?: string;
9
9
  supplierCode?: string;
10
+ orderByRelation?: string;
10
11
  keyAccountManager?: string;
11
12
  accountManager?: string;
12
13
  currency?: string;
@@ -24,5 +25,18 @@ export type objLogisticContract = {
24
25
  dayForAutomaticInvoicing?: number;
25
26
  flagDefWaitingHoursProofRequired?: CheckState;
26
27
  defWaitingHoursThreshold?: string;
28
+ flagPreBilling?: CheckState;
29
+ flagSummaryInvoiceCost?: CheckState;
30
+ flagAutomatedInvoiceCost?: CheckState;
31
+ invoicePeriodicity?: string;
32
+ invoicePeriodicityQuantity?: number;
33
+ dayOfMonthOfInvoice?: number;
34
+ transactionDateType?: string;
35
+ invoiceRelation?: string;
36
+ invoicePeriodicityTurnover?: string;
37
+ invoicePeriodicityQuantityTurnover?: number;
38
+ dayOfMonthOfInvoiceTurnover?: number;
39
+ transactionDateTypeTurnover?: string;
40
+ invoiceRelationTurnover?: string;
27
41
  };
28
42
  export declare const GLO_enterLogisticContract: (obj: objLogisticContract) => void;
@@ -24,7 +24,7 @@ export const GLO_enterLogisticContract = (obj) => {
24
24
  cy.GLO_checkLoadingIndicator();
25
25
  }
26
26
  // General Tab
27
- if (obj.supplierCode) {
27
+ if (obj.supplierCode || obj.orderByRelation) {
28
28
  cy.GLO_selectTab([formName, tabs], 'General', open);
29
29
  generalTab(obj);
30
30
  cy.GLO_selectTab([formName, tabs], 'General', close);
@@ -35,18 +35,41 @@ export const GLO_enterLogisticContract = (obj) => {
35
35
  pricingTab(obj);
36
36
  cy.GLO_selectTab([formName, tabs], 'Pricing', close);
37
37
  }
38
- // User role tab
39
- if (obj.keyAccountManager || obj.accountManager) {
40
- cy.GLO_selectTab([formName, tabs], 'User role', open);
41
- userRoleTab(obj);
42
- cy.GLO_selectTab([formName, tabs], 'User role', close);
38
+ // Billing (cost)
39
+ if (obj.flagPreBilling ||
40
+ obj.flagSummaryInvoiceCost ||
41
+ obj.flagAutomatedInvoiceCost ||
42
+ obj.invoicePeriodicity ||
43
+ obj.invoicePeriodicityQuantity ||
44
+ obj.dayOfMonthOfInvoice ||
45
+ obj.transactionDateType ||
46
+ obj.invoiceRelation) {
47
+ cy.GLO_selectTab([formName, tabs], 'Billing (cost)', open);
48
+ billingCostTab(obj);
49
+ cy.GLO_selectTab([formName, tabs], 'Billing (cost)', close);
43
50
  }
44
51
  // Billing (turnover)
45
- if (obj.flagAutomatedInvoice || obj.flagDirectInvoice || obj.flagElectronicInvoice || obj.flagMergeInvoiceAndPOD || obj.flagSummaryInvoice || obj.dayForAutomaticInvoicing) {
52
+ if (obj.flagAutomatedInvoice ||
53
+ obj.flagDirectInvoice ||
54
+ obj.flagElectronicInvoice ||
55
+ obj.flagMergeInvoiceAndPOD ||
56
+ obj.flagSummaryInvoice ||
57
+ obj.dayForAutomaticInvoicing ||
58
+ obj.invoicePeriodicityTurnover ||
59
+ obj.invoicePeriodicityQuantityTurnover ||
60
+ obj.dayOfMonthOfInvoiceTurnover ||
61
+ obj.transactionDateTypeTurnover ||
62
+ obj.invoiceRelationTurnover) {
46
63
  cy.GLO_selectTab([formName, 'tabs_70'], 'Billing (turnover)', open);
47
64
  billingTurnoverTab(obj);
48
65
  cy.GLO_selectTab([formName, tabs], 'Billing (turnover)', close);
49
66
  }
67
+ // User role tab
68
+ if (obj.keyAccountManager || obj.accountManager) {
69
+ cy.GLO_selectTab([formName, tabs], 'User role', open);
70
+ userRoleTab(obj);
71
+ cy.GLO_selectTab([formName, tabs], 'User role', close);
72
+ }
50
73
  };
51
74
  // Billing tab
52
75
  const billingTurnoverTab = (obj) => {
@@ -57,6 +80,23 @@ const billingTurnoverTab = (obj) => {
57
80
  cy.GLO_checkbox([formNameBilingTurnover, 'flag_electronic_invoice'], obj.flagElectronicInvoice);
58
81
  cy.GLO_checkbox([formNameBilingTurnover, 'flag_summary_invoice'], obj.flagSummaryInvoice);
59
82
  cy.GLO_addInput([formNameBilingTurnover, 'def_automated_invoice_days'], obj.dayForAutomaticInvoicing);
83
+ cy.GLO_addInput([formNameBilingTurnover, 'def_invoice_periodicity'], obj.invoicePeriodicityTurnover);
84
+ cy.GLO_addInput([formNameBilingTurnover, 'def_invoice_periodicity_quantity'], obj.invoicePeriodicityQuantityTurnover);
85
+ cy.GLO_addInput([formNameBilingTurnover, 'day_of_month_of_invoice'], obj.dayOfMonthOfInvoiceTurnover);
86
+ cy.GLO_addInput([formNameBilingTurnover, 'transaction_date_type'], obj.transactionDateTypeTurnover);
87
+ cy.GLO_popupWindow([formNameBilingTurnover, 'invoice_relation_code'], obj.invoiceRelationTurnover);
88
+ };
89
+ // Billing (cost) tab
90
+ const billingCostTab = (obj) => {
91
+ const formNameBillingCost = 'ng$logistic_contract_dtl_invoicing_cost';
92
+ cy.GLO_checkbox([formNameBillingCost, 'flag_prebilling'], obj.flagPreBilling);
93
+ cy.GLO_checkbox([formNameBillingCost, 'flag_summary_invoice'], obj.flagSummaryInvoiceCost);
94
+ cy.GLO_checkbox([formNameBillingCost, 'flag_automated_invoice'], obj.flagAutomatedInvoiceCost);
95
+ cy.GLO_addInput([formNameBillingCost, 'def_invoice_periodicity'], obj.invoicePeriodicity);
96
+ cy.GLO_addInput([formNameBillingCost, 'def_invoice_periodicity_quantity'], obj.invoicePeriodicityQuantity);
97
+ cy.GLO_addInput([formNameBillingCost, 'day_of_month_of_invoice'], obj.dayOfMonthOfInvoice);
98
+ cy.GLO_addInput([formNameBillingCost, 'transaction_date_type'], obj.transactionDateType);
99
+ cy.GLO_popupWindow([formNameBillingCost, 'invoice_relation_code'], obj.invoiceRelation);
60
100
  };
61
101
  // User role tab
62
102
  const userRoleTab = (obj) => {
@@ -67,10 +107,12 @@ const userRoleTab = (obj) => {
67
107
  // General tab
68
108
  const generalTab = (obj) => {
69
109
  const formNameGeneral = 'ng$logistic_contract_dtl_general';
70
- if (obj.supplierCode) {
71
- cy.GLO_popupWindow([formNameGeneral, 'relation_code'], obj.supplierCode);
72
- cy.GLO_checkLoadingIndicator();
73
- }
110
+ cy.GLO_popupWindow([formNameGeneral, 'relation_code'], obj.supplierCode);
111
+ if (obj.supplierCode)
112
+ cy.GLO_checkField([formNameGeneral, 'relation_code'], obj.supplierCode);
113
+ cy.GLO_popupWindow([formNameGeneral, 'local_order_by_relation_code'], obj.orderByRelation);
114
+ if (obj.orderByRelation)
115
+ cy.GLO_checkField([formNameGeneral, 'local_order_by_relation_code'], obj.orderByRelation);
74
116
  };
75
117
  // Pricing tab
76
118
  const pricingTab = (obj) => {
@@ -0,0 +1,22 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objLogisticContractCustomsDefinition = {
3
+ sequenceNr?: number;
4
+ customsType?: string;
5
+ customsResponsibility?: string;
6
+ customsRelation?: string;
7
+ customerCustomsBroker?: string;
8
+ customsOfficeDefinition?: string;
9
+ customsOfficeAddress?: string;
10
+ transportScenario?: string;
11
+ outboundStopDefinition?: string;
12
+ outboundStop?: string;
13
+ outboundHandling?: string;
14
+ outboundDocumentType?: string;
15
+ inboundStopDefinition?: string;
16
+ inboundStop?: string;
17
+ inboundHandling?: string;
18
+ inboundDocumentType?: string;
19
+ flagWeekendClearance?: CheckState;
20
+ remarks?: string;
21
+ };
22
+ export declare const GLO_enterLogisticContractCustomsDefinition: (obj: objLogisticContractCustomsDefinition) => void;
@@ -0,0 +1,22 @@
1
+ export const GLO_enterLogisticContractCustomsDefinition = (obj) => {
2
+ const formName = 'ng$logistic_contract_customs_definition_dtl';
3
+ cy.GLO_addInput([formName, 'sequence_nr'], obj.sequenceNr);
4
+ cy.GLO_addInput([formName, 'customs_type'], obj.customsType);
5
+ cy.GLO_addInput([formName, 'customs_responsibility'], obj.customsResponsibility);
6
+ cy.GLO_popupWindow([formName, 'customs_relation_id'], obj.customsRelation);
7
+ cy.GLO_addInput([formName, 'customer_customs_broker'], obj.customerCustomsBroker);
8
+ cy.GLO_addInput([formName, 'customs_office_definition'], obj.customsOfficeDefinition);
9
+ cy.GLO_popupWindow([formName, 'customs_office_address_id'], obj.customsOfficeAddress);
10
+ cy.GLO_addInput([formName, 'lcd_tpt_scenario_execution_id'], obj.transportScenario);
11
+ cy.GLO_addInput([formName, 'outbound_stop_definition'], obj.outboundStopDefinition);
12
+ // Stop and handling have no code column, so they are selector components rather than valuelists.
13
+ cy.GLO_popupWindow([formName, 'outbound_stop_id'], obj.outboundStop);
14
+ cy.GLO_popupWindow([formName, 'outbound_handling_id'], obj.outboundHandling);
15
+ cy.GLO_addInput([formName, 'outbound_document_type_id'], obj.outboundDocumentType);
16
+ cy.GLO_addInput([formName, 'inbound_stop_definition'], obj.inboundStopDefinition);
17
+ cy.GLO_popupWindow([formName, 'inbound_stop_id'], obj.inboundStop);
18
+ cy.GLO_popupWindow([formName, 'inbound_handling_id'], obj.inboundHandling);
19
+ cy.GLO_addInput([formName, 'inbound_document_type_id'], obj.inboundDocumentType);
20
+ cy.GLO_checkbox([formName, 'flag_weekend_clearance'], obj.flagWeekendClearance);
21
+ cy.GLO_addInput([formName, 'remarks'], obj.remarks);
22
+ };
@@ -2,6 +2,8 @@ import { type CheckState } from '../tsHelper.js';
2
2
  import { type objTclSettings } from './GLO_tclSetting.js';
3
3
  export type objLogisticContractDetail = {
4
4
  detailType?: string;
5
+ validFrom?: string;
6
+ validTill?: string;
5
7
  from?: string | JQuery;
6
8
  to?: string | JQuery;
7
9
  fromCountry?: string;
@@ -34,9 +36,17 @@ export type objLogisticContractDetail = {
34
36
  tcl?: CheckState;
35
37
  theftSensitive?: CheckState;
36
38
  flagLoadSecuringEquipment?: CheckState;
37
- tclSettings?: [objTclSettings];
39
+ flagSelfLoadByDriver?: CheckState;
40
+ tclSettings?: objTclSettings[];
38
41
  collectionSupplier?: string;
39
42
  equipmentCategory?: string;
40
43
  article?: string;
44
+ csdResponsibleLoad?: string;
45
+ csdResponsibleUnload?: string;
46
+ tclVentilation?: number;
47
+ tclSetpoint?: number;
48
+ tclMinTemperature?: number;
49
+ tclMaxTemperature?: number;
50
+ tclSeasonal?: string;
41
51
  };
42
52
  export declare const GLO_enterLogisticContractDetail: (obj: objLogisticContractDetail) => void;
@@ -1,4 +1,4 @@
1
- import { check, close, open } from '../tsHelper.js';
1
+ import { check, close, input, open } from '../tsHelper.js';
2
2
  import { GLO_enterTclSettings } from './GLO_tclSetting.js';
3
3
  const formName = 'ng$logistic_contract_detail_dtl';
4
4
  const formNameAddress = 'ng$logistic_contract_detail_dtl_address';
@@ -6,9 +6,13 @@ const formNameBilling = 'ng$logistic_contract_detail_dtl_invoicing';
6
6
  const formNameOperational = 'ng$logistic_contract_detail_dtl_operational';
7
7
  const formNameLaneConditions = 'ng$logistic_contract_detail_dtl_lane_conditions';
8
8
  const formNamePricing = 'ng$logistic_contract_detail_dtl_billing';
9
+ const formNameUserRole = 'ng$logistic_contract_detail_dtl_user_role';
10
+ const formNameTclSettings = 'ng$logistic_contract_detail_dtl_tcl_settings';
9
11
  const tabs = 'tabs_70';
10
12
  export const GLO_enterLogisticContractDetail = (obj) => {
11
13
  cy.GLO_addInput([formName, 'logistic_contract_detail_type'], obj.detailType);
14
+ cy.GLO_addDate(input, [formName, 'valid_from'], obj.validFrom);
15
+ cy.GLO_addDate(input, [formName, 'valid_till'], obj.validTill);
12
16
  cy.GLO_popupWindow([formName, 'local_logistic_conn_code'], obj.logisticConnection);
13
17
  cy.GLO_addInput([formName, 'price_rule_logistic_contract_detail_id'], obj.priceRule);
14
18
  cy.GLO_addInput([formName, 'sec_branch_id'], obj.branch);
@@ -26,14 +30,16 @@ export const GLO_enterLogisticContractDetail = (obj) => {
26
30
  GLO_enterLogisticContractDetailAddressData(obj);
27
31
  // Tab Address
28
32
  GLO_enterLogisticContractDetailAddresses(obj);
29
- // Tab billing
30
- GLO_enterLogisticContractDetailBilling(obj);
31
33
  // Tab Operational
32
34
  GLO_enterLogisticContractDetailOperational(obj);
33
35
  // Tab Pricing
34
36
  GLO_enterLogisticContractDetailPricing(obj);
37
+ // Tab billing
38
+ GLO_enterLogisticContractDetailBilling(obj);
35
39
  // Tab Lane conditions
36
40
  GLO_enterLogisticContractDetailLaneCondition(obj);
41
+ // Tab User role
42
+ GLO_enterLogisticContractDetailUserRole(obj);
37
43
  // Tab TCL settings
38
44
  GLO_enterTclSettingsTab(obj);
39
45
  };
@@ -75,15 +81,25 @@ const GLO_enterLogisticContractDetailBilling = (obj) => {
75
81
  }
76
82
  };
77
83
  const GLO_enterLogisticContractDetailOperational = (obj) => {
78
- if (obj.leadTime || obj.leadTimePrefReq || obj.collectionSupplier || obj.flagLoadSecuringEquipment) {
84
+ if (obj.leadTime || obj.leadTimePrefReq || obj.collectionSupplier || obj.flagLoadSecuringEquipment || obj.flagSelfLoadByDriver) {
79
85
  cy.GLO_selectTab([formName, tabs], 'Operational', open);
80
86
  cy.GLO_addInput([formNameOperational, 'leadtime_id'], obj.leadTime);
81
87
  cy.GLO_addInput([formNameOperational, 'lead_time_pref_req'], obj.leadTimePrefReq);
82
88
  cy.GLO_popupWindow([formNameOperational, 'collection_supplier_id'], obj.collectionSupplier);
83
89
  cy.GLO_checkbox([formNameOperational, 'flag_load_securing_equipment'], obj.flagLoadSecuringEquipment);
90
+ cy.GLO_checkbox([formNameOperational, 'flag_self_load_by_driver'], obj.flagSelfLoadByDriver);
84
91
  cy.GLO_selectTab([formName, tabs], 'Operational', close);
85
92
  }
86
93
  };
94
+ // User role tab
95
+ const GLO_enterLogisticContractDetailUserRole = (obj) => {
96
+ if (obj.csdResponsibleLoad || obj.csdResponsibleUnload) {
97
+ cy.GLO_selectTab([formName, tabs], 'User role', open);
98
+ cy.GLO_addInput([formNameUserRole, 'CSD_responsible_load'], obj.csdResponsibleLoad);
99
+ cy.GLO_addInput([formNameUserRole, 'CSD_responsible_unload'], obj.csdResponsibleUnload);
100
+ cy.GLO_selectTab([formName, tabs], 'User role', close);
101
+ }
102
+ };
87
103
  const GLO_enterLogisticContractDetailPricing = (obj) => {
88
104
  if (obj.group1 || obj.priceBreakUnit || obj.priceBreakOptimization) {
89
105
  cy.GLO_selectTab([formName, tabs], 'Pricing', open);
@@ -108,12 +124,21 @@ const GLO_enterLogisticContractDetailLaneCondition = (obj) => {
108
124
  }
109
125
  };
110
126
  const GLO_enterTclSettingsTab = (obj) => {
111
- const formNameTclSettingTab = 'ng$logistic_contract_detail_dtl_tcl_settings';
112
127
  const formNameTclSettingDlg = 'ng$logistic_contract_detail_transport_method_tcl_dlg';
113
- if (obj.tclSettings) {
128
+ if (obj.tclSettings ||
129
+ obj.tclVentilation !== undefined ||
130
+ obj.tclSetpoint !== undefined ||
131
+ obj.tclMinTemperature !== undefined ||
132
+ obj.tclMaxTemperature !== undefined ||
133
+ obj.tclSeasonal) {
114
134
  cy.GLO_selectTab([formName, tabs], 'TCL settings', open);
115
- obj.tclSettings.forEach((tclSetting) => {
116
- cy.GLO_clickButton([formNameTclSettingTab, 'btn_add'], 'fa-plus');
135
+ cy.GLO_addInput([formNameTclSettings, 'tcl_ventilation'], obj.tclVentilation);
136
+ cy.GLO_addInput([formNameTclSettings, 'tcl_setpoint'], obj.tclSetpoint);
137
+ cy.GLO_addInput([formNameTclSettings, 'tcl_min_temperature'], obj.tclMinTemperature);
138
+ cy.GLO_addInput([formNameTclSettings, 'tcl_max_temperature'], obj.tclMaxTemperature);
139
+ cy.GLO_addInput([formNameTclSettings, 'tcl_seasonal'], obj.tclSeasonal);
140
+ obj.tclSettings?.forEach((tclSetting) => {
141
+ cy.GLO_clickButton([formNameTclSettings, 'btn_add'], 'fa-plus');
117
142
  GLO_enterTclSettings(tclSetting);
118
143
  cy.GLO_clickButton([formNameTclSettingDlg, 'btn_ok']);
119
144
  });
@@ -0,0 +1,11 @@
1
+ import type { CheckState } from '../tsHelper.js';
2
+ export type objLogisticContractDetailCustoms = {
3
+ flagCustoms?: CheckState;
4
+ customsFlow?: string;
5
+ eoriEidr?: string;
6
+ consignor?: string;
7
+ consignorAddress?: string;
8
+ consignee?: string;
9
+ consigneeAddress?: string;
10
+ };
11
+ export declare const GLO_enterLogisticContractDetailCustoms: (obj: objLogisticContractDetailCustoms) => void;
@@ -0,0 +1,11 @@
1
+ export const GLO_enterLogisticContractDetailCustoms = (obj) => {
2
+ const formName = 'ng$logistic_contract_detail_dtl_customs';
3
+ cy.GLO_checkbox([formName, 'flag_customs'], obj.flagCustoms);
4
+ cy.GLO_addInput([formName, 'customs_flow_id'], obj.customsFlow);
5
+ cy.GLO_addInput([formName, 'eori_eidr'], obj.eoriEidr);
6
+ // The four party fields are selector components, so they open a selection window instead of a dropdown.
7
+ cy.GLO_popupWindow([formName, 'consignor_id'], obj.consignor);
8
+ cy.GLO_popupWindow([formName, 'consignor_address'], obj.consignorAddress);
9
+ cy.GLO_popupWindow([formName, 'consignee_id'], obj.consignee);
10
+ cy.GLO_popupWindow([formName, 'consignee_address'], obj.consigneeAddress);
11
+ };
@@ -5,6 +5,7 @@ export type objLogisticContractDetailHandling = {
5
5
  countryCode?: string;
6
6
  singleAddress?: objAddressPopup;
7
7
  timeActivity?: string;
8
+ bookingType?: string;
8
9
  flagCollection?: CheckState;
9
10
  flagDelivery?: CheckState;
10
11
  };
@@ -5,6 +5,7 @@ export const GLO_enterLogisticContractDetailHandling = (obj) => {
5
5
  cy.GLO_addInput([formName, 'time_activity_id'], obj.timeActivity);
6
6
  cy.GLO_checkbox([formNameAddress, 'flag_collection'], obj.flagCollection);
7
7
  cy.GLO_checkbox([formNameAddress, 'flag_delivery'], obj.flagDelivery);
8
+ cy.GLO_addInput([formNameAddress, 'booking_type'], obj.bookingType);
8
9
  cy.GLO_radioListCData([formNameAddress, 'address_data_type'], obj.addressDataType);
9
10
  cy.GLO_addInput([formNameAddress, 'country_code'], obj.countryCode);
10
11
  if (obj.singleAddress) {
@@ -1,8 +1,8 @@
1
1
  export const GLO_enterLogisticContractDetailItem = (obj) => {
2
2
  const formName = 'ng$logistic_contract_detail_item_dtl';
3
- cy.GLO_popupWindow([formName, 'logistic_contract_item_id'], obj.logisticContractItemCode);
4
3
  cy.GLO_addInput([formName, 'invoice_relation_id'], obj.invoiceRelation);
5
4
  if (obj.invoiceRelation) {
6
5
  cy.GLO_checkLoadingIndicator();
7
6
  }
7
+ cy.GLO_popupWindow([formName, 'logistic_contract_item_id'], obj.logisticContractItemCode);
8
8
  };
@@ -5,6 +5,15 @@ export type objLogisticContractItem = {
5
5
  department?: string;
6
6
  businessUnit?: string;
7
7
  flagProformaInvoice?: CheckState;
8
+ flagDirectInvoice?: CheckState;
9
+ flagSummaryInvoice?: CheckState;
10
+ flagAutomatedInvoice?: CheckState;
11
+ automatedInvoiceDays?: number;
12
+ invoicePeriodicity?: string;
13
+ invoicePeriodicityQuantity?: number;
14
+ dayOfMonthOfInvoice?: number;
15
+ transactionDateType?: string;
16
+ invoiceGroup?: string;
8
17
  priceRule?: string;
9
18
  invoiceRelation?: string;
10
19
  priceLogisticContract?: string;