{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":15,"numPassedTests":157,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":15,"numTotalTests":157,"startTime":1742488271003,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":23,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488280549,"runtime":9501,"slow":true,"start":1742488271048},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/0-user_register.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["user_register"],"duration":1126,"failureMessages":[],"fullName":"user_register should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["user_register"],"duration":1293,"failureMessages":[],"fullName":"user_register should register a user","status":"passed","title":"should register a user"},{"ancestorTitles":["user_register"],"duration":323,"failureMessages":[],"fullName":"user_register should register a user with stringified data","status":"passed","title":"should register a user with stringified data"},{"ancestorTitles":["user_register"],"duration":338,"failureMessages":[],"fullName":"user_register should register a user without a name","status":"passed","title":"should register a user without a name"},{"ancestorTitles":["user_register"],"duration":219,"failureMessages":[],"fullName":"user_register should register a user of type EmbeddedNode ","status":"passed","title":"should register a user of type EmbeddedNode "},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with just a string","status":"passed","title":"should not register a user with just a string"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with a missing property","status":"passed","title":"should not register a user with a missing property"},{"ancestorTitles":["user_register"],"duration":91,"failureMessages":[],"fullName":"user_register should not register a tool with a missing property","status":"passed","title":"should not register a tool with a missing property"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with conflicting type and user_class data for EmbeddedNode","status":"passed","title":"should not register a user with conflicting type and user_class data for EmbeddedNode"},{"ancestorTitles":["user_register"],"duration":35,"failureMessages":[],"fullName":"user_register should not register a user with invalid type data","status":"passed","title":"should not register a user with invalid type data"},{"ancestorTitles":["user_register"],"duration":37,"failureMessages":[],"fullName":"user_register should not register a user with extra data","status":"passed","title":"should not register a user with extra data"},{"ancestorTitles":["user_register"],"duration":40,"failureMessages":[],"fullName":"user_register should not register a user with invalid user_class","status":"passed","title":"should not register a user with invalid user_class"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with invalid name type data","status":"passed","title":"should not register a user with invalid name type data"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with invalid name","status":"passed","title":"should not register a user with invalid name"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with invalid uid","status":"passed","title":"should not register a user with invalid uid"},{"ancestorTitles":["user_register"],"duration":34,"failureMessages":[],"fullName":"user_register should not register a user with invalid app_version","status":"passed","title":"should not register a user with invalid app_version"},{"ancestorTitles":["user_register"],"duration":33,"failureMessages":[],"fullName":"user_register should not register a user with invalid user_class for RemoteExpert","status":"passed","title":"should not register a user with invalid user_class for RemoteExpert"},{"ancestorTitles":["user_register"],"duration":32,"failureMessages":[],"fullName":"user_register should not register a user with uuid mismatching session uuid","status":"passed","title":"should not register a user with uuid mismatching session uuid"},{"ancestorTitles":["user_register"],"duration":37,"failureMessages":[],"fullName":"user_register should not register a user with invalid uid type","status":"passed","title":"should not register a user with invalid uid type"},{"ancestorTitles":["user_register"],"duration":483,"failureMessages":[],"fullName":"user_register should update member information when user info is updated","status":"passed","title":"should update member information when user info is updated"},{"ancestorTitles":["user_register"],"duration":791,"failureMessages":[],"fullName":"user_register should register a user & update their invited_rooms list when they are invited","status":"passed","title":"should register a user & update their invited_rooms list when they are invited"},{"ancestorTitles":["user_register"],"duration":399,"failureMessages":[],"fullName":"user_register should register a user & not add a duplicate room if already invited","status":"passed","title":"should register a user & not add a duplicate room if already invited"},{"ancestorTitles":["user_register"],"duration":219,"failureMessages":[],"fullName":"user_register should not change a user name when updating info","status":"passed","title":"should not change a user name when updating info"}]},{"numFailingTests":0,"numPassingTests":9,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488284042,"runtime":3463,"slow":false,"start":1742488280579},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/1-room_create.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_create"],"duration":823,"failureMessages":[],"fullName":"room_create should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["room_create"],"duration":1077,"failureMessages":[],"fullName":"room_create should create a room with a string","status":"passed","title":"should create a room with a string"},{"ancestorTitles":["room_create"],"duration":459,"failureMessages":[],"fullName":"room_create should create a room with a duplicate name","status":"passed","title":"should create a room with a duplicate name"},{"ancestorTitles":["room_create"],"duration":459,"failureMessages":[],"fullName":"room_create should create a room with a number","status":"passed","title":"should create a room with a number"},{"ancestorTitles":["room_create"],"duration":31,"failureMessages":[],"fullName":"room_create should not create a room with invalid room name","status":"passed","title":"should not create a room with invalid room name"},{"ancestorTitles":["room_create"],"duration":32,"failureMessages":[],"fullName":"room_create should not create a room with invalid type","status":"passed","title":"should not create a room with invalid type"},{"ancestorTitles":["room_create"],"duration":35,"failureMessages":[],"fullName":"room_create should not create a room with invalid session","status":"passed","title":"should not create a room with invalid session"},{"ancestorTitles":["room_create"],"duration":31,"failureMessages":[],"fullName":"room_create should not create a room with a missing body","status":"passed","title":"should not create a room with a missing body"},{"ancestorTitles":["room_create"],"duration":62,"failureMessages":[],"fullName":"room_create should not create a room when a user is missing permissions","status":"passed","title":"should not create a room when a user is missing permissions"}]},{"numFailingTests":0,"numPassingTests":10,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488287613,"runtime":3538,"slow":false,"start":1742488284075},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/10-room_kick.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_kick"],"duration":668,"failureMessages":[],"fullName":"room_kick should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["room_kick"],"duration":1048,"failureMessages":[],"fullName":"room_kick should create a new room","status":"passed","title":"should create a new room"},{"ancestorTitles":["room_kick"],"duration":560,"failureMessages":[],"fullName":"room_kick create second session and place them in room","status":"passed","title":"create second session and place them in room"},{"ancestorTitles":["room_kick"],"duration":399,"failureMessages":[],"fullName":"room_kick should remove a user from room","status":"passed","title":"should remove a user from room"},{"ancestorTitles":["room_kick"],"duration":233,"failureMessages":[],"fullName":"room_kick should throw 410 error if user is not in the room","status":"passed","title":"should throw 410 error if user is not in the room"},{"ancestorTitles":["room_kick"],"duration":32,"failureMessages":[],"fullName":"room_kick should throw 400 error if user tries to kick themselves out of the room","status":"passed","title":"should throw 400 error if user tries to kick themselves out of the room"},{"ancestorTitles":["room_kick"],"duration":31,"failureMessages":[],"fullName":"room_kick should throw 400 error if there is no request body","status":"passed","title":"should throw 400 error if there is no request body"},{"ancestorTitles":["room_kick"],"duration":66,"failureMessages":[],"fullName":"room_kick should throw 404 error if user is not found","status":"passed","title":"should throw 404 error if user is not found"},{"ancestorTitles":["room_kick"],"duration":30,"failureMessages":[],"fullName":"room_kick should not allow user to kick room with invalid session","status":"passed","title":"should not allow user to kick room with invalid session"},{"ancestorTitles":["room_kick"],"duration":30,"failureMessages":[],"fullName":"room_kick should not allow user to kick room with invalid credentials","status":"passed","title":"should not allow user to kick room with invalid credentials"}]},{"numFailingTests":0,"numPassingTests":10,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488291317,"runtime":3686,"slow":false,"start":1742488287631},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/11-otp_store.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["otp_store"],"duration":1588,"failureMessages":[],"fullName":"otp_store Should return 200 with a stored OTP","status":"passed","title":"Should return 200 with a stored OTP"},{"ancestorTitles":["otp_store"],"duration":2,"failureMessages":[],"fullName":"otp_store Should return 400 with no request body","status":"passed","title":"Should return 400 with no request body"},{"ancestorTitles":["otp_store"],"duration":1,"failureMessages":[],"fullName":"otp_store Should return 400 with a missing emailAddress","status":"passed","title":"Should return 400 with a missing emailAddress"},{"ancestorTitles":["otp_store"],"duration":1,"failureMessages":[],"fullName":"otp_store Should return 400 with a missing OTP","status":"passed","title":"Should return 400 with a missing OTP"},{"ancestorTitles":["otp_store"],"duration":1,"failureMessages":[],"fullName":"otp_store Should return 400 with an invalid email","status":"passed","title":"Should return 400 with an invalid email"},{"ancestorTitles":["otp_store"],"duration":2,"failureMessages":[],"fullName":"otp_store Should return 400 with an invalid OTP (too short)","status":"passed","title":"Should return 400 with an invalid OTP (too short)"},{"ancestorTitles":["otp_store"],"duration":1,"failureMessages":[],"fullName":"otp_store Should return 400 with an invalid OTP (too long)","status":"passed","title":"Should return 400 with an invalid OTP (too long)"},{"ancestorTitles":["otp_store"],"duration":1,"failureMessages":[],"fullName":"otp_store Should return 400 with an invalid OTP (not all digits)","status":"passed","title":"Should return 400 with an invalid OTP (not all digits)"},{"ancestorTitles":["otp_store"],"duration":811,"failureMessages":[],"fullName":"otp_store Should update records if OTP is within 10 minute window","status":"passed","title":"Should update records if OTP is within 10 minute window"},{"ancestorTitles":["otp_store"],"duration":888,"failureMessages":[],"fullName":"otp_store Should update records if OTP is after 10 minute window","status":"passed","title":"Should update records if OTP is after 10 minute window"}]},{"numFailingTests":0,"numPassingTests":10,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488295413,"runtime":4076,"slow":false,"start":1742488291337},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/13-room_pre_approve.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_pre_approve"],"duration":537,"failureMessages":[],"fullName":"room_pre_approve should create a user","status":"passed","title":"should create a user"},{"ancestorTitles":["room_pre_approve"],"duration":274,"failureMessages":[],"fullName":"room_pre_approve should return 400 and not allow a user to pre-approve if they are not in a room","status":"passed","title":"should return 400 and not allow a user to pre-approve if they are not in a room"},{"ancestorTitles":["room_pre_approve"],"duration":365,"failureMessages":[],"fullName":"room_pre_approve should create a room","status":"passed","title":"should create a room"},{"ancestorTitles":["room_pre_approve"],"duration":32,"failureMessages":[],"fullName":"room_pre_approve should not return 403 and not pre-approve if requesting user is not in a valid session","status":"passed","title":"should not return 403 and not pre-approve if requesting user is not in a valid session"},{"ancestorTitles":["room_pre_approve"],"duration":63,"failureMessages":[],"fullName":"room_pre_approve should return 400 and not pre-approve if email is not valid","status":"passed","title":"should return 400 and not pre-approve if email is not valid"},{"ancestorTitles":["room_pre_approve"],"duration":33,"failureMessages":[],"fullName":"room_pre_approve should return 400 if request body is missing","status":"passed","title":"should return 400 if request body is missing"},{"ancestorTitles":["room_pre_approve"],"duration":31,"failureMessages":[],"fullName":"room_pre_approve should return 400 if request uid is missing","status":"passed","title":"should return 400 if request uid is missing"},{"ancestorTitles":["room_pre_approve"],"duration":587,"failureMessages":[],"fullName":"room_pre_approve should return 200 when pre-approving a user","status":"passed","title":"should return 200 when pre-approving a user"},{"ancestorTitles":["room_pre_approve"],"duration":189,"failureMessages":[],"fullName":"room_pre_approve should return 200 and not add duplicate entires when pre-approving a user to the same room","status":"passed","title":"should return 200 and not add duplicate entires when pre-approving a user to the same room"},{"ancestorTitles":["room_pre_approve"],"duration":639,"failureMessages":[],"fullName":"room_pre_approve should return 200 when pre-approving a user for a 2nd room","status":"passed","title":"should return 200 when pre-approving a user for a 2nd room"}]},{"numFailingTests":0,"numPassingTests":9,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488299052,"runtime":3617,"slow":false,"start":1742488295435},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/12-otp_validate.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["otp_validate"],"duration":2287,"failureMessages":[],"fullName":"otp_validate Should return 401 if OTP does not match","status":"passed","title":"Should return 401 if OTP does not match"},{"ancestorTitles":["otp_validate"],"duration":1,"failureMessages":[],"fullName":"otp_validate Should return 400 with no request body","status":"passed","title":"Should return 400 with no request body"},{"ancestorTitles":["otp_validate"],"duration":1,"failureMessages":[],"fullName":"otp_validate Should return 400 with a missing emailAddress","status":"passed","title":"Should return 400 with a missing emailAddress"},{"ancestorTitles":["otp_validate"],"duration":1,"failureMessages":[],"fullName":"otp_validate Should return 400 with a missing OTP","status":"passed","title":"Should return 400 with a missing OTP"},{"ancestorTitles":["otp_validate"],"duration":1,"failureMessages":[],"fullName":"otp_validate Should return 400 with an invalid email","status":"passed","title":"Should return 400 with an invalid email"},{"ancestorTitles":["otp_validate"],"duration":1,"failureMessages":[],"fullName":"otp_validate Should return 400 with an invalid OTP","status":"passed","title":"Should return 400 with an invalid OTP"},{"ancestorTitles":["otp_validate"],"duration":31,"failureMessages":[],"fullName":"otp_validate Should return 404 with an email address that has no record","status":"passed","title":"Should return 404 with an email address that has no record"},{"ancestorTitles":["otp_validate"],"duration":850,"failureMessages":[],"fullName":"otp_validate Should return 200 with successful OTP validation","status":"passed","title":"Should return 200 with successful OTP validation"},{"ancestorTitles":["otp_validate"],"duration":34,"failureMessages":[],"fullName":"otp_validate Should return 404 if there is no record of user (OTP was previously used)","status":"passed","title":"Should return 404 if there is no record of user (OTP was previously used)"}]},{"numFailingTests":0,"numPassingTests":9,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488301389,"runtime":2317,"slow":false,"start":1742488299072},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/13-user_update.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["user_update"],"duration":773,"failureMessages":[],"fullName":"user_update should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["user_update"],"duration":527,"failureMessages":[],"fullName":"user_update should create a member","status":"passed","title":"should create a member"},{"ancestorTitles":["user_update"],"duration":199,"failureMessages":[],"fullName":"user_update should update a user name","status":"passed","title":"should update a user name"},{"ancestorTitles":["user_update"],"duration":34,"failureMessages":[],"fullName":"user_update should throw 400 error if missing a request body","status":"passed","title":"should throw 400 error if missing a request body"},{"ancestorTitles":["user_update"],"duration":71,"failureMessages":[],"fullName":"user_update should throw 400 error if missing a name property in the request body","status":"passed","title":"should throw 400 error if missing a name property in the request body"},{"ancestorTitles":["user_update"],"duration":36,"failureMessages":[],"fullName":"user_update should throw 400 error if requesting an invalid name","status":"passed","title":"should throw 400 error if requesting an invalid name"},{"ancestorTitles":["user_update"],"duration":33,"failureMessages":[],"fullName":"user_update should throw 403 error if user has an invalid session","status":"passed","title":"should throw 403 error if user has an invalid session"},{"ancestorTitles":["user_update"],"duration":102,"failureMessages":[],"fullName":"user_update should throw 404 error if user does not exist in database","status":"passed","title":"should throw 404 error if user does not exist in database"},{"ancestorTitles":["user_update"],"duration":123,"failureMessages":[],"fullName":"user_update should change the name back to the original one","status":"passed","title":"should change the name back to the original one"}]},{"numFailingTests":0,"numPassingTests":11,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488307030,"runtime":5624,"slow":true,"start":1742488301406},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/2-room_request.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_request"],"duration":421,"failureMessages":[],"fullName":"room_request should create a new room","status":"passed","title":"should create a new room"},{"ancestorTitles":["room_request"],"duration":370,"failureMessages":[],"fullName":"room_request should allow a user to join previously approved room","status":"passed","title":"should allow a user to join previously approved room"},{"ancestorTitles":["room_request"],"duration":60,"failureMessages":[],"fullName":"room_request should update the previous room's modified time to indicate a departure from old room","status":"passed","title":"should update the previous room's modified time to indicate a departure from old room"},{"ancestorTitles":["room_request"],"duration":33,"failureMessages":[],"fullName":"room_request should create a second session","status":"passed","title":"should create a second session"},{"ancestorTitles":["room_request"],"duration":72,"failureMessages":[],"fullName":"room_request should create a new user","status":"passed","title":"should create a new user"},{"ancestorTitles":["room_request"],"duration":354,"failureMessages":[],"fullName":"room_request should allow a new user to request a room","status":"passed","title":"should allow a new user to request a room"},{"ancestorTitles":["room_request"],"duration":33,"failureMessages":[],"fullName":"room_request should not allow a user to request a room with invalid room uuid","status":"passed","title":"should not allow a user to request a room with invalid room uuid"},{"ancestorTitles":["room_request"],"duration":32,"failureMessages":[],"fullName":"room_request should not allow a user to request a room with invalid session uuid","status":"passed","title":"should not allow a user to request a room with invalid session uuid"},{"ancestorTitles":["room_request"],"duration":62,"failureMessages":[],"fullName":"room_request should not allow a user to request a room that does not exist","status":"passed","title":"should not allow a user to request a room that does not exist"},{"ancestorTitles":["room_request"],"duration":1205,"failureMessages":[],"fullName":"room_request should allow a user to join a room they were pre-approved for a room","status":"passed","title":"should allow a user to join a room they were pre-approved for a room"},{"ancestorTitles":["room_request"],"duration":778,"failureMessages":[],"fullName":"room_request should allow a user to join a room they were previously invited to, and pre-approved for a room","status":"passed","title":"should allow a user to join a room they were previously invited to, and pre-approved for a room"}]},{"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488310737,"runtime":3685,"slow":false,"start":1742488307052},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/3-room_approve.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_approve"],"duration":547,"failureMessages":[],"fullName":"room_approve should create a user","status":"passed","title":"should create a user"},{"ancestorTitles":["room_approve"],"duration":459,"failureMessages":[],"fullName":"room_approve should create a room","status":"passed","title":"should create a room"},{"ancestorTitles":["room_approve"],"duration":32,"failureMessages":[],"fullName":"room_approve should create a second session","status":"passed","title":"should create a second session"},{"ancestorTitles":["room_approve"],"duration":72,"failureMessages":[],"fullName":"room_approve should create a new user","status":"passed","title":"should create a new user"},{"ancestorTitles":["room_approve"],"duration":125,"failureMessages":[],"fullName":"room_approve should not approve a room if already in a room","status":"passed","title":"should not approve a room if already in a room"},{"ancestorTitles":["room_approve"],"duration":121,"failureMessages":[],"fullName":"room_approve should not approve room if 2nd user is not pending approval","status":"passed","title":"should not approve room if 2nd user is not pending approval"},{"ancestorTitles":["room_approve"],"duration":653,"failureMessages":[],"fullName":"room_approve should approve a room for user pending approval","status":"passed","title":"should approve a room for user pending approval"},{"ancestorTitles":["room_approve"],"duration":353,"failureMessages":[],"fullName":"room_approve should join a room once a user is approved for a room","status":"passed","title":"should join a room once a user is approved for a room"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488314170,"runtime":3414,"slow":false,"start":1742488310756},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/4-room_depart.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["room_depart"],"duration":120,"failureMessages":[],"fullName":"room_depart should place user in requested room","status":"passed","title":"should place user in requested room"},{"ancestorTitles":["room_depart"],"duration":34,"failureMessages":[],"fullName":"room_depart should throw 400 error if room id is invalid","status":"passed","title":"should throw 400 error if room id is invalid"},{"ancestorTitles":["room_depart"],"duration":247,"failureMessages":[],"fullName":"room_depart should allow user to depart room","status":"passed","title":"should allow user to depart room"},{"ancestorTitles":["room_depart"],"duration":636,"failureMessages":[],"fullName":"room_depart should not add user to approved_members list if departing room while \"PendingApproval\"","status":"passed","title":"should not add user to approved_members list if departing room while \"PendingApproval\""},{"ancestorTitles":["room_depart"],"duration":61,"failureMessages":[],"fullName":"room_depart should throw 410 error if user already departed room","status":"passed","title":"should throw 410 error if user already departed room"},{"ancestorTitles":["room_depart"],"duration":31,"failureMessages":[],"fullName":"room_depart should throw 403 error if session is invalid","status":"passed","title":"should throw 403 error if session is invalid"}]},{"numFailingTests":0,"numPassingTests":27,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488323150,"runtime":8962,"slow":true,"start":1742488314188},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/5-rooms_get.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["rooms_get"],"duration":823,"failureMessages":[],"fullName":"rooms_get should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["rooms_get"],"duration":527,"failureMessages":[],"fullName":"rooms_get should create a member","status":"passed","title":"should create a member"},{"ancestorTitles":["rooms_get"],"duration":390,"failureMessages":[],"fullName":"rooms_get should create a room","status":"passed","title":"should create a room"},{"ancestorTitles":["rooms_get"],"duration":162,"failureMessages":[],"fullName":"rooms_get should get a list of rooms filtered by uuid when in the room","status":"passed","title":"should get a list of rooms filtered by uuid when in the room"},{"ancestorTitles":["rooms_get"],"duration":127,"failureMessages":[],"fullName":"rooms_get should return 304 when the data has not changed","status":"passed","title":"should return 304 when the data has not changed"},{"ancestorTitles":["rooms_get"],"duration":161,"failureMessages":[],"fullName":"rooms_get should get a list of rooms filtered by shortName","status":"passed","title":"should get a list of rooms filtered by shortName"},{"ancestorTitles":["rooms_get"],"duration":33,"failureMessages":[],"fullName":"rooms_get should get a 400 error when combining room uuid with other filters","status":"passed","title":"should get a 400 error when combining room uuid with other filters"},{"ancestorTitles":["rooms_get"],"duration":159,"failureMessages":[],"fullName":"rooms_get should get a 404 error when filtering by future created_after date","status":"passed","title":"should get a 404 error when filtering by future created_after date"},{"ancestorTitles":["rooms_get"],"duration":153,"failureMessages":[],"fullName":"rooms_get should get a 404 error when filtering by future modified_after date","status":"passed","title":"should get a 404 error when filtering by future modified_after date"},{"ancestorTitles":["rooms_get"],"duration":62,"failureMessages":[],"fullName":"rooms_get should not get a list of rooms filtered by invalid uuid","status":"passed","title":"should not get a list of rooms filtered by invalid uuid"},{"ancestorTitles":["rooms_get"],"duration":64,"failureMessages":[],"fullName":"rooms_get should not get a list of rooms filtered by invalid shortName","status":"passed","title":"should not get a list of rooms filtered by invalid shortName"},{"ancestorTitles":["rooms_get"],"duration":121,"failureMessages":[],"fullName":"rooms_get should create a new user","status":"passed","title":"should create a new user"},{"ancestorTitles":["rooms_get"],"duration":190,"failureMessages":[],"fullName":"rooms_get should allow user to retrieve rooms list from unapproved room using uuid","status":"passed","title":"should allow user to retrieve rooms list from unapproved room using uuid"},{"ancestorTitles":["rooms_get"],"duration":232,"failureMessages":[],"fullName":"rooms_get should allow user to retrieve rooms list from unapproved room using shortname","status":"passed","title":"should allow user to retrieve rooms list from unapproved room using shortname"},{"ancestorTitles":["rooms_get"],"duration":276,"failureMessages":[],"fullName":"rooms_get should not allow user to retrieve rooms list from unapproved room using created after","status":"passed","title":"should not allow user to retrieve rooms list from unapproved room using created after"},{"ancestorTitles":["rooms_get"],"duration":461,"failureMessages":[],"fullName":"rooms_get should return only the user in room list from room if their status is \"PendingApproval\"","status":"passed","title":"should return only the user in room list from room if their status is \"PendingApproval\""},{"ancestorTitles":["rooms_get"],"duration":515,"failureMessages":[],"fullName":"rooms_get should return rooms, including those user was PendingApproval, but may not be in room anymore waiting","status":"passed","title":"should return rooms, including those user was PendingApproval, but may not be in room anymore waiting"},{"ancestorTitles":["rooms_get"],"duration":401,"failureMessages":[],"fullName":"rooms_get should return members list with users InRoom and those PendingApproval for admin users","status":"passed","title":"should return members list with users InRoom and those PendingApproval for admin users"},{"ancestorTitles":["rooms_get"],"duration":375,"failureMessages":[],"fullName":"rooms_get should return members list with all users in room if user is Approved","status":"passed","title":"should return members list with all users in room if user is Approved"},{"ancestorTitles":["rooms_get"],"duration":285,"failureMessages":[],"fullName":"rooms_get should return members list without the user after the user leaves room","status":"passed","title":"should return members list without the user after the user leaves room"},{"ancestorTitles":["rooms_get"],"duration":534,"failureMessages":[],"fullName":"rooms_get should get a list of rooms filtered by created after","status":"passed","title":"should get a list of rooms filtered by created after"},{"ancestorTitles":["rooms_get"],"duration":533,"failureMessages":[],"fullName":"rooms_get should get a list of rooms filtered by modified after","status":"passed","title":"should get a list of rooms filtered by modified after"},{"ancestorTitles":["rooms_get"],"duration":414,"failureMessages":[],"fullName":"rooms_get should get a list of rooms filtered by modified after and a limit","status":"passed","title":"should get a list of rooms filtered by modified after and a limit"},{"ancestorTitles":["rooms_get"],"duration":378,"failureMessages":[],"fullName":"rooms_get should get a list of rooms for an admin user filtered by modified after, a limit, and the status: all","status":"passed","title":"should get a list of rooms for an admin user filtered by modified after, a limit, and the status: all"},{"ancestorTitles":["rooms_get"],"duration":306,"failureMessages":[],"fullName":"rooms_get should not allow non-admin user to see approved_members from approved room using created after","status":"passed","title":"should not allow non-admin user to see approved_members from approved room using created after"},{"ancestorTitles":["rooms_get"],"duration":648,"failureMessages":[],"fullName":"rooms_get should return only the user in room list from room if their status is \"Kicked\"","status":"passed","title":"should return only the user in room list from room if their status is \"Kicked\""},{"ancestorTitles":["rooms_get"],"duration":134,"failureMessages":[],"fullName":"rooms_get should throw 500 error if admin list variable is not available","status":"passed","title":"should throw 500 error if admin list variable is not available"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488328093,"runtime":4919,"slow":false,"start":1742488323174},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/6-login.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["login"],"duration":1427,"failureMessages":[],"fullName":"login should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["login"],"duration":1260,"failureMessages":[],"fullName":"login should log in successfully with token","status":"passed","title":"should log in successfully with token"},{"ancestorTitles":["login"],"duration":34,"failureMessages":[],"fullName":"login should log in successfully with valid cookie","status":"passed","title":"should log in successfully with valid cookie"},{"ancestorTitles":["login"],"duration":1666,"failureMessages":[],"fullName":"login should log in new user with mismatched session and token","status":"passed","title":"should log in new user with mismatched session and token"},{"ancestorTitles":["login"],"duration":86,"failureMessages":[],"fullName":"login should not log user in successfully with invalid session","status":"passed","title":"should not log user in successfully with invalid session"},{"ancestorTitles":["login"],"duration":44,"failureMessages":[],"fullName":"login should throw 500 error with missing environment variable","status":"passed","title":"should throw 500 error with missing environment variable"}]},{"numFailingTests":0,"numPassingTests":3,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488329295,"runtime":1175,"slow":false,"start":1742488328120},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/7-logout.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["logout"],"duration":649,"failureMessages":[],"fullName":"logout should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["logout"],"duration":130,"failureMessages":[],"fullName":"logout should expire the session","status":"passed","title":"should expire the session"},{"ancestorTitles":["logout"],"duration":32,"failureMessages":[],"fullName":"logout should return 200 with invalid session","status":"passed","title":"should return 200 with invalid session"}]},{"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488332934,"runtime":3619,"slow":false,"start":1742488329315},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/8-users_get.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["users_get"],"duration":614,"failureMessages":[],"fullName":"users_get should get a session","status":"passed","title":"should get a session"},{"ancestorTitles":["users_get"],"duration":395,"failureMessages":[],"fullName":"users_get should create a member","status":"passed","title":"should create a member"},{"ancestorTitles":["users_get"],"duration":116,"failureMessages":[],"fullName":"users_get should create a new session and member","status":"passed","title":"should create a new session and member"},{"ancestorTitles":["users_get"],"duration":354,"failureMessages":[],"fullName":"users_get should get only the user information","status":"passed","title":"should get only the user information"},{"ancestorTitles":["users_get"],"duration":205,"failureMessages":[],"fullName":"users_get should not get another user's information","status":"passed","title":"should not get another user's information"},{"ancestorTitles":["users_get"],"duration":33,"failureMessages":[],"fullName":"users_get should not get a user with an invalid session","status":"passed","title":"should not get a user with an invalid session"},{"ancestorTitles":["users_get"],"duration":765,"failureMessages":[],"fullName":"users_get should get a user info & update their invited_rooms list when they are invited to a room","status":"passed","title":"should get a user info & update their invited_rooms list when they are invited to a room"},{"ancestorTitles":["users_get"],"duration":750,"failureMessages":[],"fullName":"users_get should add a new invite if user is already approved for the room","status":"passed","title":"should add a new invite if user is already approved for the room"}]},{"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1742488336625,"runtime":3666,"slow":false,"start":1742488332959},"testFilePath":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/9-clear_users_rooms.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["clear_users_rooms"],"duration":600,"failureMessages":[],"fullName":"clear_users_rooms should get a valid session","status":"passed","title":"should get a valid session"},{"ancestorTitles":["clear_users_rooms"],"duration":726,"failureMessages":[],"fullName":"clear_users_rooms should create a new room","status":"passed","title":"should create a new room"},{"ancestorTitles":["clear_users_rooms"],"duration":610,"failureMessages":[],"fullName":"clear_users_rooms should create scenario to verify only one user data will be cleared","status":"passed","title":"should create scenario to verify only one user data will be cleared"},{"ancestorTitles":["clear_users_rooms"],"duration":332,"failureMessages":[],"fullName":"clear_users_rooms should delete a user's room info from user and room","status":"passed","title":"should delete a user's room info from user and room"},{"ancestorTitles":["clear_users_rooms"],"duration":123,"failureMessages":[],"fullName":"clear_users_rooms should return true if a user's room info is already deleted","status":"passed","title":"should return true if a user's room info is already deleted"},{"ancestorTitles":["clear_users_rooms"],"duration":513,"failureMessages":[],"fullName":"clear_users_rooms should clear user room data if user is PendingApproval","status":"passed","title":"should clear user room data if user is PendingApproval"},{"ancestorTitles":["clear_users_rooms"],"duration":333,"failureMessages":[],"fullName":"clear_users_rooms should clear user room, pending_rooms & approved_rooms","status":"passed","title":"should clear user room, pending_rooms & approved_rooms"},{"ancestorTitles":["clear_users_rooms"],"duration":33,"failureMessages":[],"fullName":"clear_users_rooms should throw 403 error with invalid session","status":"passed","title":"should throw 403 error with invalid session"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":true,"collectCoverage":true,"collectCoverageFrom":[],"coverageDirectory":"/home/runner/work/adapt_presence_server/adapt_presence_server/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":true,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":1,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/home/runner/work/adapt_presence_server/adapt_presence_server/node_modules/jest-html-reporters/index.js",{"publicPath":"./coverage","filename":"index.html","pageTitle":"PRESENCE Report","inlineSource":true,"urlForTestFiles":"https://github.com/turnaroundfactor/adapt_presence_server/blob/develop","hideIcon":true}]],"rootDir":"/home/runner/work/adapt_presence_server/adapt_presence_server","runTestsByPath":false,"seed":-1291709135,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/home/runner/work/adapt_presence_server/adapt_presence_server/test/sequencer.js","testTimeout":90000,"updateSnapshot":"none","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false,"coverageLinkPath":"lcov-report/index.html"},"endTime":1742488336642,"_reporterOptions":{"publicPath":"./coverage","filename":"index.html","expand":false,"pageTitle":"PRESENCE Report","hideIcon":true,"testCommand":"","openReport":false,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":true,"urlForTestFiles":"https://github.com/turnaroundfactor/adapt_presence_server/blob/develop","darkTheme":false,"includeConsoleLog":false,"stripSkippedTest":false},"logInfoMapping":{},"attachInfos":{}}