Skip to content
This repository has been archived by the owner on Mar 31, 2021. It is now read-only.

Commit

Permalink
#46 update
Browse files Browse the repository at this point in the history
update fixture, object
  • Loading branch information
metas-dh committed Jul 9, 2019
1 parent 00dfac2 commit ea91847
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 56 deletions.
34 changes: 32 additions & 2 deletions cypress/fixtures/misc/warehouse.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
{
"warehouse": "Test Warehouse",
"value": "Test Warehouse"
"Name": "Test Warehouse",
"Value": "Test Warehouse",
"locators": [
{
"x": 0,
"x1": 0,
"y": 0,
"z": 0,
"value": "Test Warehouse",
"IsAfterPickingLocator": false
}
],
"routes": [
{
"docBaseType": "Sales Order",
"de_DE__docBaseType": "Auftrag"
},
{
"docBaseType": "Purchase Order",
"de_DE__docBaseType": "Bestellung"
},
{
"docBaseType": "Manufacturing Order"
},
{
"docBaseType": "Distribution Order"
},
{
"docBaseType": "Material Receipt",
"de_DE__docBaseType": "Wareneingang"
}
]
}
26 changes: 11 additions & 15 deletions cypress/integration/masterdata/warehouse_spec.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
import { Warehouse } from '../../support/utils/warehouse';
import { WarehouseLocator } from '../../support/utils/warehouselocator';
import { WarehouseRouting } from '../../support/utils/warehouserouting';

import { Warehouse, locator, routes } from '../../support/utils/warehouse';
import { getLanguageSpecific } from '../../support/utils/utils';

describe('Create test: warehouse, https://github.com/metasfresh/metasfresh-e2e/issues/46', function() {
const timestamp = new Date().getTime(); // used in the document names, for ordering
const warehouseName = `TestWarehouseName ${timestamp}`;
const warehouseValue = `TestWarehouseValue ${timestamp}`;
const date = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
const warehouseName = `TestWarehouseName ${date}`;
const warehouseValue = `TestWarehouseValue ${date}`;

it('Create a new warehouse', function() {
cy.fixture('misc/warehouse.json').then(warehouseJson => {
Object.assign(new Warehouse(warehouseName), warehouseJson).apply()
.setName(warehouseName)
.setValue(warehouseValue)
.apply();
Object.assign(new Warehouse(), warehouseJson)
.setName(warehouseName)
.setValue(warehouseValue)
.setLocator(locator)
.setRoutes(getLanguageSpecific(routes, 'DocBaseType'))
.apply();
});

Object.assign(new WarehouseLocator)
Object.assign(new WarehouseRouting())

});
});
81 changes: 42 additions & 39 deletions cypress/support/utils/warehouse.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* eslint-disable no-unused-vars */
/* eslint-disable no-undef */
export class Warehouse {
constructor(name) {
cy.log(`Warehouse - set name = ${name}`);
this.name = name;
this.locators = [];
this.routes = [];
}

setName(name) {
Expand All @@ -18,24 +18,6 @@ export class Warehouse {
return this;
}

setDescription(description) {
cy.log(`Warehouse - set description = ${description}`);
this.description = description;
return this;
}

setSOWarehouse(isSOWarehouse) {
cy.log(`Warehouse - set isSOWarehouse = ${isSOWarehouse}`);
this.isSOWarehouse = isSOWarehouse;
return this;
}

setPOWarehouse(isPOWarehouse) {
cy.log(`Warehouse - set isPOWarehouse = ${isPOWarehouse}`);
this.isPOWarehouse = isPOWarehouse;
return this;
}

setBPartnerLocation(C_BPartner_Location_ID) {
cy.log(`BPartnerLocation - set C_BPartner_Location_ID= ${C_BPartner_Location_ID}`);
this.C_BPartner_Location_ID = C_BPartner_Location_ID;
Expand All @@ -51,24 +33,45 @@ export class Warehouse {
}

function applyWarehouse(Warehouse) {
const timestamp = new Date().getTime();

describe(`Create new Warehouse ${Warehouse.name}`, function() {
cy.visitWindow('139', 'NEW');
cy.writeIntoStringField('Name', `${Warehouse.name}${timestamp}`);
cy.clearField('Value').writeIntoStringField('Value', Warehouse.value);
cy.selectNthInListField('C_BPartner_Location_ID', 1, false);

if (Warehouse.isSOWarehouse && !isSOWarehouseValue) {
cy.getFieldValue('isSOWarehouse').then(isSOWarehouseValue => {
cy.clickOnCheckBox('isSOWarehouse');
});
}

if (Warehouse.isPOWarehouse && !isPOWarehouseValue) {
cy.getFieldValue('isPOWarehouse').then(isPOWarehouseValue => {
cy.clickOnCheckBox('isPOWarehouse');
});
}
cy.visitWindow('139', 'NEW')
.writeIntoStringField('Name', Warehouse.Name)
.clearField('Value')
.writeIntoStringField('Value', Warehouse.Value);
cy.selectNthInListField('C_BPartner_Location_ID', 1, false);
Warehouse.locators.forEach(locator => {
applyLocator(locator);
Warehouse.routes.forEach(routes => {
applyRoutes(routes);
});
});
}
function applyLocator(locator) {
cy.get(`#tab_M_Locator`).click();
cy.pressAddNewButton()
.clearField('Value', true)
.writeIntoStringField('Value', locator.value, true)
.writeIntoStringField('X', locator.x1)
.writeIntoStringField('X1', locator.x1)
.writeIntoStringField('Z', locator.z)
.writeIntoStringField('Y', locator.y)
.setCheckBoxValue('IsAfterPickingLocator', locator.IsAfterPickingLocator, true)
.pressDoneButton();
}
function applyRoutes(routes) {
cy.get(`#tab_M_Warehouse_Routing`).click();
cy.pressAddNewButton()
.selectInListField('DocBaseType', routes.docbasetype, true)
.pressDoneButton();
cy.pressAddNewButton()
.selectInListField('DocBaseType', routes.docbasetype, true)
.pressDoneButton();
cy.pressAddNewButton()
.selectInListField('DocBaseType', routes.docbasetype, true)
.pressDoneButton();
cy.pressAddNewButton()
.selectInListField('DocBaseType', routes.docbasetype, true)
.pressDoneButton();
cy.pressAddNewButton()
.selectInListField('DocBaseType', routes.docbasetype, true)
.pressDoneButton();
}

0 comments on commit ea91847

Please sign in to comment.