SalesforceCommerceCloud / b2c-crm-sync

... a contemporary perspective on how to integrate B2C Commerce and the Salesforce Customer 360 Platform to power frictionless customer experiences in the B2C domain.
https://salesforcecommercecloud.github.io/b2c-crm-sync/
BSD 3-Clause "New" or "Revised" License
65 stars 45 forks source link

Multi-cloud unit-tests command failed #20

Open olegforce opened 2 years ago

olegforce commented 2 years ago

After running npm run crm-sync:test:use-cases tests following results are received:

  0 passing (55s)
  14 failing

  1) Authenticating a B2C Customer Profile via the OCAPI Shop API
       "before all" hook for "does not create a SFDC Contact when b2c-crm-sync is disabled for a storefront":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/b2c/authentication.live.test.js:107:19)

  2) Authenticating a B2C Customer Profile via the OCAPI Shop API
       "after all" hook for "does not allow updates to a SFDC Contact with sync-customers is disabled":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

  3) Registering a new B2C Customer Profile via the OCAPI Shop API
       "before all" hook for "does not create a SFDC Contact when b2c-crm-sync is disabled for a storefront":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/b2c/customerRegistration.live.test.js:101:19)

  4) Registering a new B2C Customer Profile via the OCAPI Shop API
       "after all" hook for "does not allow updates to SFDC Contact via B2C Commerce when sync-customers is disabled":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

  5) Progressive resolution B2C Commerce Customer creation scenarios via the B2CContactProcess API
       "before all" hook for "creates a Contact from a B2C CustomerList ID and Email attribute combination":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/sfdc/b2cContactProcess.create.live.test.js:106:19)

  6) Progressive resolution B2C Commerce Customer creation scenarios via the B2CContactProcess API
       "after all" hook for "creates a new contact when multiple Contacts are resolved by Email and LastName without a B2C CustomerList":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

  7) Progressive resolution of a B2C Commerce Customer error scenarios via the B2CContactProcess API
       "before all" hook for "returns an error if non-identifiers are used without a B2C CustomerList for resolution via the B2CContactProcess service":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/sfdc/b2cContactProcess.errors.live.test.js:104:19)

  8) Progressive resolution of a B2C Commerce Customer error scenarios via the B2CContactProcess API
       "after all" hook for "returns an error if a validated Contact has integration disabled":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

  9) Progressive resolution of a B2C Commerce Customer via the B2CContactProcess API
       "before all" hook for "resolves an existing Contact using LastName and Email -- where the existing Contact does not have a B2C CustomerList":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/sfdc/b2cContactProcess.resolve.live.test.js:107:19)

  10) Progressive resolution of a B2C Commerce Customer via the B2CContactProcess API
       "after all" hook for "returns an error when multiple records are resolved by B2C CustomerList and CustomerNo":
     TypeError: Cannot read property 'conn' of undefined
      at Context.<anonymous> (test/_use-cases/sfdc/b2cContactProcess.resolve.live.test.js:666:92)
      at processImmediate (internal/timers.js:464:21)

  11) Progressive resolution of a B2C Commerce Customer update scenarios via the B2CContactProcess API
       "before all" hook for "allows direct updates by B2C CustomerList, Email, and LastName":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/sfdc/b2cContactProcess.update.live.test.js:103:19)

  12) Progressive resolution of a B2C Commerce Customer update scenarios via the B2CContactProcess API
       "after all" hook for "allows direct updates by ContactID":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

  13) Updating an SFDC Contact representing a B2C Commerce Customer Profile from within SFDC
       "before all" hook for "successfully updates a B2C Commerce Profile with changes initiated from SFDC when integration is enabled":
     Error: TypeError: Parameter client_id missing or not of type String
      at Context.<anonymous> (test/_use-cases/sfdc/b2cCustomerProfileUpdate.live.test.js:98:19)

  14) Updating an SFDC Contact representing a B2C Commerce Customer Profile from within SFDC
       "after all" hook for "does not process updates to a B2C Commerce Profile with changes initiated from SFDC when integration is disabled":
     Error: getaddrinfo ENOTFOUND undefined
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26)

FYI it is the same instance that on weekend had only 5 failing tests as per >> this << reported issue and no changes have been done to end instances. The only change was introduced multiple environments via folder tree as per recommendations under >> this << ticket.

olegforce commented 2 years ago

As mentioned in the https://github.com/SalesforceCommerceCloud/b2c-crm-sync/issues/15 looks like this issue is related that multi-cloud tests are not using dotenv, which contradicts solution documentation that states all is going via dotenv.

joacorma commented 2 years ago

Hey @olegforce did you manage to make it work? My tests are also failing and the errors are not very helpful. Any idea on what could be failing?

olegforce commented 2 years ago

@joacorma I didn't, I had to just accept and ignore those as they didn't impact the main functionality I was looking for. I would recommend you to open issue in this repository and show what issues you are facing so maybe someone else could help.

saqibcloudconversion commented 2 years ago

@olegforce when you run these tests individually they pass without any failure. I ran these tests individually

` mocha .\test_use-cases\b2c\customerRegistration.live.test.js

mocha .\test_use-cases\b2c\authentication.live.test.js

`

olegforce commented 2 years ago

@saqibcloudconversion, tests will still fail if you use dotenv approach, please read https://github.com/SalesforceCommerceCloud/b2c-crm-sync/issues/15 as well. The only solution is not to use dotenv and keep one env file per repository.