"{\"numFailedTestSuites\":0,\"numFailedTests\":0,\"numPassedTestSuites\":3,\"numPassedTests\":22,\"numPendingTestSuites\":0,\"numPendingTests\":0,\"numRuntimeErrorTestSuites\":0,\"numTodoTests\":0,\"numTotalTestSuites\":3,\"numTotalTests\":22,\"openHandles\":[],\"snapshot\":{\"added\":0,\"didUpdate\":false,\"failure\":false,\"filesAdded\":0,\"filesRemoved\":0,\"filesRemovedList\":[],\"filesUnmatched\":0,\"filesUpdated\":0,\"matched\":0,\"total\":0,\"unchecked\":0,\"uncheckedKeysByFile\":[],\"unmatched\":0,\"updated\":0},\"startTime\":1633259237550,\"success\":false,\"testResults\":[{\"leaks\":false,\"numFailingTests\":0,\"numPassingTests\":8,\"numPendingTests\":0,\"numTodoTests\":0,\"openHandles\":[],\"perfStats\":{\"end\":1633259238707,\"runtime\":1113,\"slow\":false,\"start\":1633259237594},\"skipped\":false,\"snapshot\":{\"added\":0,\"fileDeleted\":false,\"matched\":0,\"unchecked\":0,\"uncheckedKeys\":[],\"unmatched\":0,\"updated\":0},\"testFilePath\":\"/home/runner/work/portfolio-management/portfolio-management/dal/backend.portfolio.test.js\",\"testResults\":[{\"ancestorTitles\":[],\"duration\":20,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:SingleSymbol\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:SingleSymbol\"},{\"ancestorTitles\":[],\"duration\":14,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:TwoSymbols\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:TwoSymbols\"},{\"ancestorTitles\":[],\"duration\":24,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateOldBuyTrade:Shares=10->20\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateOldBuyTrade:Shares=10->20\"},{\"ancestorTitles\":[],\"duration\":16,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateOldSellTrade:Shares=5->1\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateOldSellTrade:Shares=5->1\"},{\"ancestorTitles\":[],\"duration\":16,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateOldSellTradeWithLaterBuys:Quantity=10->1\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateOldSellTradeWithLaterBuys:Quantity=10->1\"},{\"ancestorTitles\":[],\"duration\":21,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateBuyTrade:Symbol=ZOMATO->TCS:Error\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateBuyTrade:Symbol=ZOMATO->TCS:Error\"},{\"ancestorTitles\":[],\"duration\":26,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateBuyTrade:Symbol=ICICI->TCS\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateBuyTrade:Symbol=ICICI->TCS\"},{\"ancestorTitles\":[],\"duration\":17,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Portfolio:UpdateSellTrade:Symbol=ZOMATO->TCS\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Portfolio:UpdateSellTrade:Symbol=ZOMATO->TCS\"}],\"failureMessage\":null},{\"leaks\":false,\"numFailingTests\":0,\"numPassingTests\":10,\"numPendingTests\":0,\"numTodoTests\":0,\"openHandles\":[],\"perfStats\":{\"end\":1633259239009,\"runtime\":289,\"slow\":false,\"start\":1633259238720},\"skipped\":false,\"snapshot\":{\"added\":0,\"fileDeleted\":false,\"matched\":0,\"unchecked\":0,\"uncheckedKeys\":[],\"unmatched\":0,\"updated\":0},\"testFilePath\":\"/home/runner/work/portfolio-management/portfolio-management/dal/backend.trade.test.js\",\"testResults\":[{\"ancestorTitles\":[],\"duration\":18,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Buy Shares\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Buy Shares\"},{\"ancestorTitles\":[],\"duration\":16,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Sell Shares\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Sell Shares\"},{\"ancestorTitles\":[],\"duration\":9,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Invalid Sell\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Invalid Sell\"},{\"ancestorTitles\":[],\"duration\":14,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Update Buy Trade[quantity] = 10 -> 8\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Update Buy Trade[quantity] = 10 -> 8\"},{\"ancestorTitles\":[],\"duration\":7,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Update Buy Trade[quantity] = 10 -> 8, after sell 9\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Update Buy Trade[quantity] = 10 -> 8, after sell 9\"},{\"ancestorTitles\":[],\"duration\":13,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Update Buy Trade[quantity] = 10 -> 20, after sell 9\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Update Buy Trade[quantity] = 10 -> 20, after sell 9\"},{\"ancestorTitles\":[],\"duration\":5,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Update Change Symbol\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Update Change Symbol\"},{\"ancestorTitles\":[],\"duration\":5,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"DeleteTrade\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"DeleteTrade\"},{\"ancestorTitles\":[],\"duration\":6,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"DeleteTrade Error\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"DeleteTrade Error\"},{\"ancestorTitles\":[],\"duration\":6,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"ListTrades\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"ListTrades\"}],\"failureMessage\":null},{\"leaks\":false,\"numFailingTests\":0,\"numPassingTests\":4,\"numPendingTests\":0,\"numTodoTests\":0,\"openHandles\":[],\"perfStats\":{\"end\":1633259239163,\"runtime\":148,\"slow\":false,\"start\":1633259239015},\"skipped\":false,\"snapshot\":{\"added\":0,\"fileDeleted\":false,\"matched\":0,\"unchecked\":0,\"uncheckedKeys\":[],\"unmatched\":0,\"updated\":0},\"testFilePath\":\"/home/runner/work/portfolio-management/portfolio-management/dal/backend.user.test.js\",\"testResults\":[{\"ancestorTitles\":[],\"duration\":4,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Create User\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Create User\"},{\"ancestorTitles\":[],\"duration\":3,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"Duplicate User\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"Duplicate User\"},{\"ancestorTitles\":[],\"duration\":8,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"User Authorization Success\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"User Authorization Success\"},{\"ancestorTitles\":[],\"duration\":2,\"failureDetails\":[],\"failureMessages\":[],\"fullName\":\"User Authorization Failing\",\"invocations\":1,\"location\":null,\"numPassingAsserts\":0,\"status\":\"passed\",\"title\":\"User Authorization Failing\"}],\"failureMessage\":null}],\"wasInterrupted\":false,\"config\":{\"bail\":0,\"changedFilesWithAncestor\":false,\"collectCoverage\":false,\"collectCoverageFrom\":[],\"coverageDirectory\":\"/home/runner/work/portfolio-management/portfolio-management/coverage\",\"coverageProvider\":\"babel\",\"coverageReporters\":[\"json\",\"text\",\"lcov\",\"clover\"],\"detectLeaks\":false,\"detectOpenHandles\":true,\"errorOnDeprecated\":false,\"expand\":false,\"findRelatedTests\":false,\"forceExit\":false,\"json\":false,\"lastCommit\":false,\"listTests\":false,\"logHeapUsage\":false,\"maxConcurrency\":5,\"maxWorkers\":1,\"noStackTrace\":false,\"nonFlagArgs\":[],\"notify\":false,\"notifyMode\":\"failure-change\",\"onlyChanged\":false,\"onlyFailures\":false,\"passWithNoTests\":false,\"projects\":[],\"reporters\":[[\"default\",{}],[\"/home/runner/work/portfolio-management/portfolio-management/node_modules/jest-html-reporters/index.js\",{}]],\"rootDir\":\"/home/runner/work/portfolio-management/portfolio-management\",\"runTestsByPath\":false,\"skipFilter\":false,\"testFailureExitCode\":1,\"testPathPattern\":\"\",\"testSequencer\":\"/home/runner/work/portfolio-management/portfolio-management/node_modules/@jest/test-sequencer/build/index.js\",\"updateSnapshot\":\"new\",\"useStderr\":false,\"watch\":false,\"watchAll\":false,\"watchman\":true},\"endTime\":1633259239169,\"_reporterOptions\":{\"publicPath\":\"/home/runner/work/portfolio-management/portfolio-management\",\"filename\":\"jest_html_reporters.html\",\"expand\":false,\"pageTitle\":\"\",\"hideIcon\":false,\"testCommand\":\"npx jest\",\"openReport\":false,\"multipleReportsUnitePath\":\"\",\"failureMessageOnly\":false,\"enableMergeData\":false,\"dataMergeLevel\":1},\"attachInfos\":{}}"