[FOLIO-1660] platform-core tests fail as a suite Created: 14/Dec/18  Updated: 03/Jun/20  Resolved: 15/Dec/18

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Bug Priority: P2
Reporter: Zak Burke Assignee: Zak Burke
Resolution: Done Votes: 0
Labels: ci, sprint53
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to FOLIO-1662 platform-core#snapshot tests do not c... Closed
relates to FOLIO-1618 Update existing Nightmare tests to su... Closed
relates to UITEST-39 Add coverage functionality to stripes... Closed
relates to FOLIO-1664 figure out what goes wrong when passi... Closed
Sprint:

 Description   

Although platform-core tests may run successfully when run individually, when run in one fell swoop, as with stripes test nightmare stripes.config.js --run WD/checkout/users/inventory/requests/circulation/organization --uiTest.username diku_admin --uiTest.password admin --show --url http://folio-snapshot-496.aws.indexdata.com then they tend to fail with weird results:

yarn run v1.9.4
$ stripes test nightmare stripes.config.js --run WD/checkout/users/inventory/requests/circulation/organization --uiTest.username diku_admin --uiTest.password admin --show --url http://folio-snapshot-496.aws.indexdata.com
Using URL http://folio-snapshot-496.aws.indexdata.com
Starting Nightmare tests...
Host:          http://folio-snapshot-496.aws.indexdata.com
Username:      diku_admin


  
    Login Page ("test-bad-login")
      given bad data
        ✓ Should find a login error message (2697ms)
    Load test-codexsearch
      Login > Codex Search > Filtering Results > Reset Search > Logout

        ✓ should login as diku_admin/admin (4550ms)
        ✓ should open codex search and execute search (14532ms)
        ✓ should filter results and change result-count (4140ms)
        ✓ should reset search (44ms)
        ✓ should logout
    Checking for dependency issues on FOLIO UI App /about ("test-dependencies")
      Login > Click "About" link > Check for dependency errors > Logout

        ✓ should login (3848ms)
        ✓ should load "about" page (1132ms)
        ✓ should check for "red" errors
        ✓ should check for "orange" errors
        ✓ should logout
    Exercise users, inventory, checkout, checkin, settings ("test-exercise")
      Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

        1) should login as diku_admin/admin
        ✓ should configure checkout for barcode and username
        ✓ should find an active user  (1175ms)
          Found user katheryn/102612053668398
        2) should find current loans count for /
        ✓ should find closed loans count for  (225ms)
          Closed loans: 0
        ✓ should create inventory record (1941ms)
        3) should create holdings record
        4) should create item record
(node:17893) UnhandledPromiseRejectionWarning: Error: .wait() timed out after 30000msec
    at Timeout._onTimeout (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/nightmare/lib/actions.js:453:10)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)
(node:17893) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:17893) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
        5) should check out 1544759505517 to 
Error: .wait() timed out after 30000msec
    at Timeout._onTimeout (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/nightmare/lib/actions.js:453:10)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)
        ✓ should change open-loan count
        6) should find 1544759505517 in 's open loans
        7) should check in 1544759505517
        8) should change closed-loan count
        9) should confirm 1544759505517 in 's closed loans
        ✓ should logout
    Tests to validate the loan renewals
      Login > Update settings > Create loan policy > Apply Loan rule > Find Active user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Renew success > Renew failure > Renew failure > create fixedDueDateSchedule > Assign fdds to loan policy > Renew failure > Edit loan policy > Renew failure > Check in > delete loan policy > delete fixedDueDateSchedule > logout

        ✓ should login as diku_admin/admin (4623ms)
        10) should configure checkout for barcode and username
        Module test: new_proxy
          Login > Find user two users > Add proxy to user 1 > Delete sponsor in user 2 > Logout

            11) "before all" hook for "should configure checkout for barcode and username"
      
        Module test: checkout:error_messages.
          Open app > Trigger error messages > Logout
          Test suite   @folio/checkout:1.4.1000222
          Live module  @folio/checkout:1.4.1000222 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open app and find module version tag (395ms)
            ✓ should show error when scanning item before patron card (329ms)
            ✓ should show error when entering wrong patron ID (1382ms)
            ✓ should configure checkout for barcode and username (826ms)
            ✓ should find existing patron (1748ms)
            ✓ should show error when entering wrong item ID (802ms)
      
        Module test: users:patron_group
          Login > Add new patron group > Assign to user > Try to delete patron group > Unassign from user > Try to delete again > Logout

            ✓ should login as diku_admin/admin (7980ms)
          Test suite   @folio/users:2.17.9000535
          Live module  @folio/users:2.17.9000535 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open app and find version tag (437ms)
            ✓ should create a patron group for "Alumni" (6442ms)
            ✓ should find an active user to edit (405ms)
        (found user ID 954851241876440)
            ✓ should find patron group ID for "alumni_1562" (2552ms)
        (found patron group ID 6930a5b1-417b-4087-82db-ea5fdca612d7)
            ✓ should edit user record using "alumni_1562" group (2772ms)
            ✓ should find patron group ID for "staff" (861ms)
        (found patron group ID 6930a5b1-417b-4087-82db-ea5fdca612d7)
            ✓ should change patron group to "Staff" in user record (2756ms)
            ✓ should delete "alumni_1562" patron group (1362ms)
            ✓ should confirm that "alumni_1562" patron group has been deleted (1115ms)
            ✓ should logout
        Module test: users:new_user
          Login > Create new user > Logout > Login as new user > Logout > Login > Edit new user and confirm changes
            ✓ should load login page (4177ms)
            ✓ should login as diku_admin/admin (3433ms)
          Test suite   @folio/users:2.17.9000535
          Live module  @folio/users:2.17.9000535 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open app and find version tag (425ms)
            ✓ should extract a patron group value (1027ms)
            12) should create a user: ojohnson1544759505532/ojohnson1544759505532
            ✓ should create a new loan policy with renewalLimit of 1
            ✓ should logout (579ms)
            ✓ should login as ojohnson1544759505532/ojohnson1544759505532 (273ms)
            ✓ should logout (569ms)
            ✓ should login as diku_admin/admin (2544ms)
            ✓ should change username for ojohnson1544759505532 (6179ms)
            ✓ should logout (576ms)
            ✓ Should login as ojohnson1544759505532x/ojohnson1544759505532 (1062ms)
        Module test: users:new_permission_set
          Login > Create new permission set > Confirm creation > Delete permission set > Confirm deletion > Logout

          Test suite   @folio/users:2.17.9000535
          Live module  @folio/users:2.17.9000535 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open app and find version tag (419ms)
            ✓ should create a new permission set (1225ms)
            ✓ should confirm creation of new permission set (655ms)
            ✓ should delete new permission set (871ms)
          ID of deleted permission set: 2f66815c-8b1b-4181-b850-11a38aac9f34
            ✓ should confirm deletion (643ms)
      
        Module test: inventory:new_title
          Login > Open module "Inventory" > Create new instance > Sort list by title > Confirm creation of new title > Logout
          Test suite   @folio/inventory:1.4.1000378
          Live module  @folio/inventory:1.4.1000378 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open module "Inventory" and find version tag  (434ms)
            ✓ should create new instance  (7827ms)
            ✓ should create holdings record (913ms)
            ✓ should create item record (1213ms)
            ✓ should find new title in list  (245ms)
        Module test: inventory:filters
          Login > Open module "Inventory" > Get hit counts > Click filters > Logout
          Test suite   @folio/inventory:1.4.1000378
          Live module  @folio/inventory:1.4.1000378 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open module "Inventory" and find version tag  (416ms)
            ✓ should find hit count with no filters applied (1543ms)
            ✓ should click language-English and change hit count (1767ms)
            13) should click language-Spanish and change hit count
            ✓ Apply the loan policy created as a loan rule to material-type book
            ✓ should click location-Annex and change hit count (1813ms)
        Module test: inventory:inventorySearch
          Login > Click Inventory > Enter Search Term > Wait for Results > Confirm search term at top of results > Click Reset All > Wait for results pan to change state > Logout

          Test suite   @folio/inventory:1.4.1000378
          Live module  @folio/inventory:1.4.1000378 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open module "Inventory" and find version tag  (427ms)
            ✓ should find hit count with no filters applied (1813ms)
            ✓ should search for: "California" (1310ms)
            ✓ should click "reset all" button (891ms)
            ✓ should search for title: California (1404ms)
            ✓ should click "reset all" button (871ms)
            ✓ should search for contributor: Huntley, Henry Veel (1425ms)
      
        Module test: requests:new_request
          Login > Open module "Requests" > Create new request > Logout
          Test suite   @folio/requests:1.5.1000191
          Live module  @folio/requests:1.5.1000191 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open module "Requests" and find version tag  (450ms)
            ✓ should find an active user barcode (1759ms)
        Found 102612053668398
            ✓ should create inventory record (1638ms)
            ✓ should create holdings record (2495ms)
            ✓ should create item record (1189ms)
            ✓ should check out newly created item (5377ms)
            ✓ should add a new "Hold" request (2547ms)
            ✓ should find new request in requests list (1388ms)
        Module test: requests:filters
          Login > Open module "Requests" > Get hit counts > Click filters > Logout
          Test suite   @folio/requests:1.5.1000191
          Live module  @folio/requests:1.5.1000191 (http://folio-snapshot-496.aws.indexdata.com)
            ✓ should open module "Requests" and find version tag  (454ms)
            ✓ should find "choose a filter" message
            ✓ should click Holds and change hit count (1207ms)
            ✓ should click Recalls and change hit count (868ms)
      
        Module test: circulation:settings
          Login > Open Circulation settings > Logout
            ✓ should open Circulation settings, Loan policies (2748ms)
      
        Module test: organization:locations
          Login > Add new institution, campus, library, location > Try to delete institution > Delete location > Try to delete institution again > Logout

            ✓ should create an institution "Bowdoin College 8261" (1920ms)
        (found institution ID 4866b105-89a5-40bc-aa17-1f5c86e8af76 for Bowdoin College 8261
            ✓ should create a campus "Brunswick 6866" (861ms)
        (found campus ID 96cd2eed-4133-495c-8aa7-ca05ee49416e for Brunswick 6866
            ✓ should create a library "Hawthorne-Longfellow 9385" (1648ms)
        (found library ID 1a4a01f2-ce4d-4c10-8bb4-37fa176d94d0 for Hawthorne-Longfellow 9385
            14) should create a location "Bowdoin College Test Location 5621"
            ✓ should find an active user 
            ✓ should confirm creation of new location (406ms)
        (found location ID 95b4e309-06f5-4585-a073-b05b1cef6d63 for Bowdoin College Test Location 5621
            ✓ should fail to delete institution "Bowdoin College 8261" (4350ms)
            ✓ should fail to delete campus "Brunswick 6866" (3595ms)
            ✓ should fail to delete library "Hawthorne-Longfellow 9385" (3376ms)
            ✓ should delete the location "Bowdoin College Test Location 5621" (925ms)
            ✓ should confirm deletion
            ✓ should delete the library "Hawthorne-Longfellow 9385" (3864ms)
            ✓ should confirm the library has been deleted (225ms)
            ✓ should delete the campus "Brunswick 6866" (3579ms)
            ✓ should confirm the campus has been deleted (225ms)
            ✓ should delete the institution "Bowdoin College 8261" (4317ms)
            ✓ should confirm the institution has been deleted (225ms)

  98 passing (7m)
  14 failing

  1) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should login as diku_admin/admin:
     Uncaught Error: ERROR: in module @folio/core, operation GET on resource 'enabledModules' failed, saying: Failed to fetch
      at EventEmitter.nightmare.on (node_modules/@folio/stripes-testing/helpers.js:6:13)
      at ChildProcess. (node_modules/nightmare/lib/ipc.js:49:10)
      at emit (internal/child_process.js:762:12)
      at _combinedTickCallback (internal/process/next_tick.js:142:11)
      at process._tickCallback (internal/process/next_tick.js:181:9)

  2) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should find current loans count for /:
     TypeError: result.replace is not a function
      at nightmare.click.wait.evaluate.then (test/ui-testing/exercise.js:70:39)
      at 
      at process._tickCallback (internal/process/next_tick.js:189:7)

  3) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should create holdings record:
     Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/@folio/stripes-testing/test-module.js)
  

  4) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should create item record:
     Error: done() invoked with non-Error: Unable to find element by selector: #clickable-new-item
      at 
      at process._tickCallback (internal/process/next_tick.js:189:7)

  5) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should check out 1544759505517 to :
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  6) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should find 1544759505517 in 's open loans:
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  7) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should check in 1544759505517:
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  8) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should change closed-loan count:
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  9) Exercise users, inventory, checkout, checkin, settings ("test-exercise")
       Login > Update settings > Find user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Checkin > Confirm checkin > Logout

         should confirm 1544759505517 in 's closed loans:
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  10) Tests to validate the loan renewals
       Login > Update settings > Create loan policy > Apply Loan rule > Find Active user > Create inventory record > Create holdings record > Create item record > Checkout item > Confirm checkout > Renew success > Renew failure > Renew failure > create fixedDueDateSchedule > Assign fdds to loan policy > Renew failure > Edit loan policy > Renew failure > Check in > delete loan policy > delete fixedDueDateSchedule > logout

         should configure checkout for barcode and username:
     Error: .wait() timed out after 30000msec
      at Timeout._onTimeout (node_modules/nightmare/lib/actions.js:453:10)

  11) Module test: new_proxy
       Login > Find user two users > Add proxy to user 1 > Delete sponsor in user 2 > Logout

         "before all" hook for "should configure checkout for barcode and username":
     Error: done() invoked with non-Error: Cannot read property 'focus' of null
      at 
      at process._tickCallback (internal/process/next_tick.js:189:7)

  12) Module test: users:new_user
       Login > Create new user > Logout > Login as new user > Logout > Login > Edit new user and confirm changes
         should create a user: ojohnson1544759505532/ojohnson1544759505532:
     Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/@folio/stripes-testing/test-module.js)
  

  13) Module test: inventory:filters
       Login > Open module "Inventory" > Get hit counts > Click filters > Logout
         should click language-Spanish and change hit count:
     Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/@folio/stripes-testing/test-module.js)
  

  14) Module test: organization:locations
       Login > Add new institution, campus, library, location > Try to delete institution > Delete location > Try to delete institution again > Logout

         should create a location "Bowdoin College Test Location 5621":
     Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/jenkins/workspace/Automation/folio-snapshot/platform-core/node_modules/@folio/stripes-testing/test-module.js)
  



Some tests failed or something went wrong while attempting to run the tests.
14
exiting process with failure(1)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


 Comments   
Comment by Zak Burke [ 15/Dec/18 ]

Reverted some changes made under the auspices of FOLIO-1618 Closed as it appears that using a shared instance of Nightmare, rather than instantiating a new one in each test, is the source of the weird behavior.

Generated at Thu Feb 08 23:14:58 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.