summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2018-08-29 17:01:32 +0300
committerIttay Stern <ittay.stern@att.com>2019-02-18 18:35:30 +0200
commit6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 (patch)
tree936005c364dc5a7264d6304d4777c3d83494db22 /vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts
parent67d99f816cc583643c35193197594cf78d8ce60a (diff)
merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts')
-rw-r--r--vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts b/vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts
new file mode 100644
index 000000000..ee5e95a3a
--- /dev/null
+++ b/vid-webpack-master/cypress/support/steps/general/compareDeepObjects.step.ts
@@ -0,0 +1,32 @@
+const { _ } = Cypress;
+
+declare namespace Cypress {
+ interface Chainable {
+ deepCompare: typeof deepCompare,
+ }
+}
+
+function deepCompare(actual : any, expected : any) {
+ if(actual !== null && expected !== null){
+ let diff : any[] = [];
+ Cypress._.mergeWith(actual, expected, function (objectValue, sourceValue, key, object, source) {
+ if ( !(_.isEqual(objectValue, sourceValue)) && (Object(objectValue) !== objectValue)) {
+ diff.push("key: " +key + ", expected: " + sourceValue + ", actual: " + objectValue);
+ }
+ });
+
+ Cypress._.mergeWith(expected, actual, function (objectValue, sourceValue, key, object, source) {
+ if ( !(_.isEqual(objectValue, sourceValue)) && (Object(objectValue) !== objectValue)) {
+ diff.push("key: " +key + ", expected: " + sourceValue + ", actual: " + objectValue);
+ }
+ });
+
+ if(diff.length > 0){
+ console.error("diff", diff);
+ cy.log("The object are not equals", diff);
+ expect(actual).equals(expected);
+ }
+ }
+}
+
+Cypress.Commands.add('deepCompare', deepCompare);