diff --git a/output.json b/output.json index 81fe7f27..e28c5f9c 100644 --- a/output.json +++ b/output.json @@ -146,7 +146,7 @@ "inputs": ["default", "^production"], "executor": "nx:run-commands", "options": { - "command": "cd packages/bounce-loader && npx playwright test" + "command": "cd packages/bounce-loader && yarn playwright test" }, "configurations": {} }, @@ -155,7 +155,7 @@ "inputs": ["default", "^production"], "executor": "nx:run-commands", "options": { - "command": "nx run bounce-loader:start & cd packages/bounce-loader && npx playwright test --ui" + "command": "nx run bounce-loader:start & cd packages/bounce-loader && yarn playwright test --ui" }, "configurations": {} }, @@ -169,14 +169,14 @@ "launch-e2e2": { "executor": "nx:run-commands", "options": { - "command": "npx concurrently -k \"wait-on tcp:4200 && cd packages/bounce-loader && yarn cypress open --e2e --browser chrome\" \"nx run bounce-loader:start\"" + "command": "yarn concurrently -k \"wait-on tcp:4200 && cd packages/bounce-loader && yarn cypress open --e2e --browser chrome\" \"nx run bounce-loader:start\"" }, "configurations": {} }, "e2e2": { "executor": "nx:run-commands", "options": { - "command": "npx concurrently --kill-others --kill-signal SIGKILL --success first \"npx wait-on tcp:4200 && cd packages/bounce-loader && yarn cypress run --record --config --e2e\" \"nx run bounce-loader:start\" " + "command": "yarn concurrently --kill-others --kill-signal SIGKILL --success first \"yarn wait-on tcp:4200 && cd packages/bounce-loader && yarn cypress run --record --config --e2e\" \"nx run bounce-loader:start\" " }, "configurations": {} }, @@ -665,7 +665,7 @@ "launch-e2e-playwright": { "executor": "nx:run-commands", "options": { - "command": "nx run ove:start:ci & cd packages/ove && npx playwright test --ui" + "command": "nx run ove:start:ci & cd packages/ove && yarn playwright test --ui" }, "configurations": {} } diff --git a/packages/ove/cypress/e2e/chromatogram.spec.js b/packages/ove/cypress/e2e/chromatogram.spec.js index abe1121d..6b017407 100644 --- a/packages/ove/cypress/e2e/chromatogram.spec.js +++ b/packages/ove/cypress/e2e/chromatogram.spec.js @@ -37,6 +37,19 @@ describe("chromatogram", function () { }); }); }); + + it("should throw an error if baseTraces are missing from chromatogram data", function () { + window.Cypress.triggerMissingBaseTrace = true; + cy.visit("#/Editor?chromatogramExample=true"); + + cy.on("uncaught:exception", err => { + expect(err.message).to.include( + 'Chromatogram data is missing "baseTraces"' + ); + return false; + }); + }); + it("right clicking a chromatogram should give the option to hide quality scores", function () { cy.visit("#/Editor?chromatogramExample=true"); cy.get(".chromatogram").first().rightclick(); diff --git a/packages/ove/demo/src/EditorDemo/index.js b/packages/ove/demo/src/EditorDemo/index.js index 422614a4..f5472dae 100644 --- a/packages/ove/demo/src/EditorDemo/index.js +++ b/packages/ove/demo/src/EditorDemo/index.js @@ -1728,7 +1728,10 @@ additionalEnzymes: { id: "1", // chromatogramData: example1Ab1, // sequence: example1Ab1.baseCalls.join(""), - chromatogramData: chromData, + chromatogramData: window.Cypress + ?.triggerMissingBaseTrace + ? _chromData + : chromData, sequence: chromData.baseCalls.join(""), features: [ { diff --git a/packages/ove/package.json b/packages/ove/package.json index d6d06823..52850cd1 100644 --- a/packages/ove/package.json +++ b/packages/ove/package.json @@ -1,6 +1,6 @@ { "name": "@teselagen/ove", - "version": "0.7.17", + "version": "0.7.18", "main": "./src/index.js", "type": "module", "exports": { diff --git a/packages/ove/src/RowItem/Chromatograms/Chromatogram.js b/packages/ove/src/RowItem/Chromatograms/Chromatogram.js index 9a127692..7990c1ce 100644 --- a/packages/ove/src/RowItem/Chromatograms/Chromatogram.js +++ b/packages/ove/src/RowItem/Chromatograms/Chromatogram.js @@ -52,7 +52,11 @@ export default function Chromatogram(props) { canvasRef ]); const marginLeft = gapsBeforeRow * charWidth; - + if (chromatogramData.basePos && !chromatogramData.baseTraces) { + throw new Error( + 'Chromatogram data is missing "baseTraces". Be sure to call the convertBasePosTraceToPerBpTrace(_chromData) before passing it to the editor' + ); + } return (