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

Commit

Permalink
test improved and changes as requested
Browse files Browse the repository at this point in the history
  • Loading branch information
Oliviu authored and TheBestPessimist committed Jul 11, 2019
1 parent b5af420 commit 0e9ec15
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 24 deletions.
23 changes: 23 additions & 0 deletions cypress/fixtures/warehouse/product_stock_control_purchase.json
@@ -0,0 +1,23 @@
{
"name": "ProductName",
"description": "TestProduct1",
"value": "TestProduct1",
"m_product_category": "06_Kartoffeln",
"c_uom": "Each",
"de_DE__c_uom": "Stück",
"isStocked": true,
"isPurchased": true,
"isSold": true,
"isDiverse": false,
"productType": "Item",
"de_DE__productType": "Artikel",
"prices": [
{
"priceStd": 2.00,
"m_pricelist_version": "Testpreise Kunden (Deutschland)_Germany - Deutschland_EUR_2015-01-01",
"de_DE__m_pricelist_version": "Testpreise Kunden (Deutschland)_Deutschland_EUR_2015-01-01",
"c_taxcategory": "Normaler Steuersatz 19% (Deutschland)",
"de_DE__c_taxcategory": "Normaler Steuersatz 19% (Deutschland)"
}
]
}
4 changes: 4 additions & 0 deletions cypress/fixtures/warehouse/stock_control_purchase.json
@@ -0,0 +1,4 @@
{
"description" : "test",
"products": []
}
@@ -1,33 +1,42 @@
const fillFormInModal = (productFromList, quantity) => {
cy.pressAddNewButton();
cy.writeIntoLookupListField('M_Product_ID', 'prod', productFromList, true);

cy.writeIntoStringField('QtyCount', quantity, true);
cy.selectInListField('PP_Plant_ID', 'test', true);
cy.pressDoneButton();
};
import { StockControlPurchase, StockControlPurchaseProduct } from '../../support/utils/stockControlPurchase';
import { Product } from '../../support/utils/product';

describe('create new stock control purchase', function() {
const timestamp = new Date().getTime();
const description = `test ${timestamp}`;
const productName1 = `StockControlPurchase1 ${timestamp}`;
const productName2 = `StockControlPurchase2 ${timestamp}`;
const productName3 = `StockControlPurchase3 ${timestamp}`;

before(function() {
cy.visit('/window/540253');
cy.fixture('warehouse/product_stock_control_purchase.json').then(productJson => {
Object.assign(new Product(), productJson)
.setName(productName1)
.apply();
});

cy.fixture('warehouse/product_stock_control_purchase.json').then(productJson => {
Object.assign(new Product(), productJson)
.setName(productName2)
.apply();
});

cy.fixture('warehouse/product_stock_control_purchase.json').then(productJson => {
Object.assign(new Product(), productJson)
.setName(productName3)
.apply();
});
});

it('create process', function() {
cy.clickHeaderNav(Cypress.messages.window.new.caption);

cy.writeIntoStringField('Description', 'test');
});

it('first product', function() {
fillFormInModal('ProductName 1560426460548_1000003', '100');
});

it('second product', function() {
fillFormInModal('ProductName 1560502091488_1000012', '200');
});

it('third product', function() {
fillFormInModal('ProductName 1560502118834_1000013', '50');
cy.fixture('warehouse/stock_control_purchase.json').then(stockControlPurchase => {
Object.assign(new StockControlPurchase(), stockControlPurchase)
.setDescription(description)
.addProduct(new StockControlPurchaseProduct().setProduct(productName1).setQuantity('100'))
.addProduct(new StockControlPurchaseProduct().setProduct(productName2).setQuantity('200'))
.addProduct(new StockControlPurchaseProduct().setProduct(productName3).setQuantity('500'))
.apply();
});
});

it('header actions', function() {
Expand Down
65 changes: 65 additions & 0 deletions cypress/support/utils/stockControlPurchase.js
@@ -0,0 +1,65 @@
export class StockControlPurchase {
contructor(description) {
this.description = description;
this.products = [];
}

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

addProduct(product) {
cy.log(`StockControlPurchase - addProduct = ${JSON.stringify(product)}`);
this.products.push(product);
return this;
}

apply() {
cy.log(`StockControlPurchase - apply - START (${this.description})`);
applyStockControlPurchase(this);
cy.log(`StockControlPurchase - apply - END (${this.description})`);
return this;
}
}

export class StockControlPurchaseProduct {
constructor(product) {
this.product = product;
}

setProduct(product) {
cy.log(`StockControlPurchaseProduct - setProduct = ${product}`);
this.product = product;
return this;
}

setQuantity(qty) {
cy.log(`StockControlPurchaseProduct - setQuantity = ${qty}`);
this.qty = qty;
return this;
}
}

function applyStockControlPurchase(stockControlPurchase) {
cy.visitWindow('540253');
cy.clickHeaderNav(Cypress.messages.window.new.caption);

cy.writeIntoStringField('Description', stockControlPurchase.description);

if (stockControlPurchase.products.length > 0) {
stockControlPurchase.products.forEach(product => {
applyProduct(product);
});
}
}

function applyProduct(product) {
cy.pressAddNewButton();
cy.writeIntoLookupListField('M_Product_ID', product.product, product.product, true);

cy.writeIntoStringField('QtyCount', product.qty, true);
cy.selectInListField('PP_Plant_ID', 'test', true);
cy.pressDoneButton();
}

0 comments on commit 0e9ec15

Please sign in to comment.