From 56ecfc15edb017c4d9612a62c9f0de59b0e5289a Mon Sep 17 00:00:00 2001 From: Michael Pesce Date: Mon, 27 Jun 2022 16:48:17 -0400 Subject: [PATCH 1/5] set up cypress for testing & created sample tests --- electron/cypress.config.js | 9 +++ electron/cypress/e2e/FlowsheetsList.cy.js | 55 ++++++++++++++++++ electron/cypress/fixtures/example.json | 5 ++ electron/cypress/support/commands.js | 1 + electron/cypress/support/e2e.js | 20 +++++++ .../cypress/videos/FlowsheetsList.cy.js.mp4 | Bin 0 -> 86439 bytes electron/package.json | 2 + 7 files changed, 92 insertions(+) create mode 100644 electron/cypress.config.js create mode 100644 electron/cypress/e2e/FlowsheetsList.cy.js create mode 100644 electron/cypress/fixtures/example.json create mode 100644 electron/cypress/support/commands.js create mode 100644 electron/cypress/support/e2e.js create mode 100644 electron/cypress/videos/FlowsheetsList.cy.js.mp4 diff --git a/electron/cypress.config.js b/electron/cypress.config.js new file mode 100644 index 0000000000..97f47c4127 --- /dev/null +++ b/electron/cypress.config.js @@ -0,0 +1,9 @@ +const { defineConfig } = require("cypress"); + +module.exports = defineConfig({ + e2e: { + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/electron/cypress/e2e/FlowsheetsList.cy.js b/electron/cypress/e2e/FlowsheetsList.cy.js new file mode 100644 index 0000000000..c74c4069fc --- /dev/null +++ b/electron/cypress/e2e/FlowsheetsList.cy.js @@ -0,0 +1,55 @@ +describe('flowsheetslist', () => { + it('test flowsheetslist page', () => { + //load webpage + cy.visit('localhost:3000/') + + //locate new flowsheet button + cy.findByRole('button', { name: /new/i }) + + //locate heading + cy.findByRole('heading', { name: /flowsheets/i}) + + //locate table headers + cy.findByRole('columnheader', { name: /name/i}) + cy.findByRole('columnheader', { name: /treatment train/i}) + cy.findByRole('columnheader', { name: /last run/i}) + cy.findByRole('columnheader', { name: /created/i}) + + }) + + it('test new flowsheet button', () => { + //load webpage + cy.visit('localhost:3000/') + + //click on new flowsheet button + cy.findByRole('button', { name: /new/i }).click() + + //verify that all textboxes are present and empty; enter values for each + cy.findByRole('textbox', { name: /flowsheet name/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /has bypass/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /has desal feed/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /is twostage/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /has erd/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /nf type/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /nf base/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /ro type/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /ro base/i}).should('have.value', ''); + cy.findByRole('textbox', { name: /ro level/i}).should('have.value', ''); + + // enter text into textboxes + cy.findByRole('textbox', { name: /flowsheet name/i }).type('flowsheet z'); + cy.findByRole('textbox', { name: /has bypass/i}).type('yes'); + cy.findByRole('textbox', { name: /has desal feed/i}).type('no'); + cy.findByRole('textbox', { name: /is twostage/i}).type('maybe'); + cy.findByRole('textbox', { name: /has erd/i}).type('yes'); + cy.findByRole('textbox', { name: /nf type/i}).type('a'); + cy.findByRole('textbox', { name: /nf base/i}).type('milk'); + cy.findByRole('textbox', { name: /ro type/i}).type('b'); + cy.findByRole('textbox', { name: /ro base/i}).type('yogurt'); + cy.findByRole('textbox', { name: /ro level/i}).type('42'); + + // click cancel button + cy.findByRole('button', { name: /cancel/i}) + + }) +}) \ No newline at end of file diff --git a/electron/cypress/fixtures/example.json b/electron/cypress/fixtures/example.json new file mode 100644 index 0000000000..02e4254378 --- /dev/null +++ b/electron/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/electron/cypress/support/commands.js b/electron/cypress/support/commands.js new file mode 100644 index 0000000000..2eaf44ab3b --- /dev/null +++ b/electron/cypress/support/commands.js @@ -0,0 +1 @@ +import "@testing-library/cypress/add-commands" \ No newline at end of file diff --git a/electron/cypress/support/e2e.js b/electron/cypress/support/e2e.js new file mode 100644 index 0000000000..0e7290a13d --- /dev/null +++ b/electron/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/electron/cypress/videos/FlowsheetsList.cy.js.mp4 b/electron/cypress/videos/FlowsheetsList.cy.js.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..4d845acaa2dac432ac1ddacb6749a90e69c9f652 GIT binary patch literal 86439 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 Date: Fri, 1 Jul 2022 12:15:45 -0400 Subject: [PATCH 2/5] updated url in cypress config; cleaned up test; added DS_store to gitignore --- .gitignore | 3 +++ electron/cypress.config.js | 3 +++ electron/cypress/e2e/FlowsheetsList.cy.js | 4 ++-- .../cypress/videos/FlowsheetsList.cy.js.mp4 | Bin 86439 -> 0 bytes 4 files changed, 8 insertions(+), 2 deletions(-) delete mode 100644 electron/cypress/videos/FlowsheetsList.cy.js.mp4 diff --git a/.gitignore b/.gitignore index d670af8cfa..083bb9ca98 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,6 @@ dmypy.json # Pyre type checker .pyre/ + +# DS_store +.DS_store \ No newline at end of file diff --git a/electron/cypress.config.js b/electron/cypress.config.js index 97f47c4127..3f3247b8c6 100644 --- a/electron/cypress.config.js +++ b/electron/cypress.config.js @@ -4,6 +4,9 @@ module.exports = defineConfig({ e2e: { setupNodeEvents(on, config) { // implement node event listeners here + }, + baseUrl: 'http://localhost:3000', + video: false }, }); diff --git a/electron/cypress/e2e/FlowsheetsList.cy.js b/electron/cypress/e2e/FlowsheetsList.cy.js index c74c4069fc..df0043bde4 100644 --- a/electron/cypress/e2e/FlowsheetsList.cy.js +++ b/electron/cypress/e2e/FlowsheetsList.cy.js @@ -1,7 +1,7 @@ describe('flowsheetslist', () => { it('test flowsheetslist page', () => { //load webpage - cy.visit('localhost:3000/') + cy.visit('/') //locate new flowsheet button cy.findByRole('button', { name: /new/i }) @@ -19,7 +19,7 @@ describe('flowsheetslist', () => { it('test new flowsheet button', () => { //load webpage - cy.visit('localhost:3000/') + cy.visit('/') //click on new flowsheet button cy.findByRole('button', { name: /new/i }).click() diff --git a/electron/cypress/videos/FlowsheetsList.cy.js.mp4 b/electron/cypress/videos/FlowsheetsList.cy.js.mp4 deleted file mode 100644 index 4d845acaa2dac432ac1ddacb6749a90e69c9f652..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86439 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 Date: Tue, 5 Jul 2022 18:02:51 -0400 Subject: [PATCH 3/5] added initial component tests using react testing library --- electron/ui/src/tests/FlowsheetsListTable.test.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 electron/ui/src/tests/FlowsheetsListTable.test.js diff --git a/electron/ui/src/tests/FlowsheetsListTable.test.js b/electron/ui/src/tests/FlowsheetsListTable.test.js new file mode 100644 index 0000000000..a9bc8a90b1 --- /dev/null +++ b/electron/ui/src/tests/FlowsheetsListTable.test.js @@ -0,0 +1,15 @@ +import { render, screen } from '@testing-library/react'; +import FlowsheetsListTable from "Components/FlowsheetsListTable/FlowsheetsListTable" +import test_data from '../../../../backend/data/flowsheets/fake/data.json' + + +test('test flowsheets list table', () => { + render( ) + + expect(screen.getByRole('cell', { name: /METAB treatment train/i})) + expect(screen.getByRole('link', { name: /METAB treatment train/i})) + expect(screen.getByRole('button', { name: /edit project/i })) + + screen.debug(); + +}) \ No newline at end of file From 56e9cef4b51258b9283781bfdb8611d3001570cd Mon Sep 17 00:00:00 2001 From: Michael Pesce Date: Wed, 6 Jul 2022 11:20:09 -0400 Subject: [PATCH 4/5] added tests for each component --- electron/ui/src/App.test.js | 5 +- electron/ui/src/tests/Graph.test.js | 12 + electron/ui/src/tests/Header.test.js | 13 + electron/ui/src/tests/InputAccordion.test.js | 50 ++ electron/ui/src/tests/InputWrapper.test.js | 41 ++ .../ui/src/tests/NewFlowsheetDialog.test.js | 31 + electron/ui/src/tests/Page.test.js | 12 + electron/ui/src/tests/SolveDialog.test.js | 571 ++++++++++++++++++ 8 files changed, 732 insertions(+), 3 deletions(-) create mode 100644 electron/ui/src/tests/Graph.test.js create mode 100644 electron/ui/src/tests/Header.test.js create mode 100644 electron/ui/src/tests/InputAccordion.test.js create mode 100644 electron/ui/src/tests/InputWrapper.test.js create mode 100644 electron/ui/src/tests/NewFlowsheetDialog.test.js create mode 100644 electron/ui/src/tests/Page.test.js create mode 100644 electron/ui/src/tests/SolveDialog.test.js diff --git a/electron/ui/src/App.test.js b/electron/ui/src/App.test.js index 1f03afeece..dc3e97435d 100644 --- a/electron/ui/src/App.test.js +++ b/electron/ui/src/App.test.js @@ -1,8 +1,7 @@ import { render, screen } from '@testing-library/react'; import App from './App'; +import { BrowserRouter } from "react-router-dom"; test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); + render( ); }); diff --git a/electron/ui/src/tests/Graph.test.js b/electron/ui/src/tests/Graph.test.js new file mode 100644 index 0000000000..c8acab6863 --- /dev/null +++ b/electron/ui/src/tests/Graph.test.js @@ -0,0 +1,12 @@ +import { render, screen } from '@testing-library/react'; +import Graph from "Components/Graph/Graph" + +//mock props + +test('test input accordion', () => { + + render( ) + + //test for component elements + screen.getByRole('img', { name: /flowsheet/i}); +}) \ No newline at end of file diff --git a/electron/ui/src/tests/Header.test.js b/electron/ui/src/tests/Header.test.js new file mode 100644 index 0000000000..2c059bdb1b --- /dev/null +++ b/electron/ui/src/tests/Header.test.js @@ -0,0 +1,13 @@ +import { render, screen } from '@testing-library/react'; +import Header from "Components/Boilerplate/Header/Header" + +//mock props + +test('test input accordion', () => { + + render(
) + + //test for component elements + screen.getByRole('link', { name: /NAWI logo/i}); + screen.getByRole('img', { name: /NAWI logo/i}); +}) \ No newline at end of file diff --git a/electron/ui/src/tests/InputAccordion.test.js b/electron/ui/src/tests/InputAccordion.test.js new file mode 100644 index 0000000000..9893b19649 --- /dev/null +++ b/electron/ui/src/tests/InputAccordion.test.js @@ -0,0 +1,50 @@ +import { render, screen } from '@testing-library/react'; +import InputAccordion from "Components/InputAccordion/InputAccordion" + +//mock props +const key = "" + +const mockSections = { + "": { + "display_name": "", + "variables": { + "flow_vol": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 0.0003286 + ], + "bounds": [ + [ + null, + null + ] + ] + }, + "display_name": "flow_vol", + "description": "Volumetric flowrate in feed", + "display_units": "m3/s", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + } + } + } + +test('test input accordion', () => { + + render( ) + + //test for component elements + screen.getByRole('button', { name: ""}); + screen.getByRole('region', { name: ""}); + screen.getByRole('textbox', { name: /flow_vol/i}); + +}) \ No newline at end of file diff --git a/electron/ui/src/tests/InputWrapper.test.js b/electron/ui/src/tests/InputWrapper.test.js new file mode 100644 index 0000000000..e3f70b9fd1 --- /dev/null +++ b/electron/ui/src/tests/InputWrapper.test.js @@ -0,0 +1,41 @@ +import { render, screen } from '@testing-library/react'; +import InputWrapper from "Components/InputWrapper/InputWrapper" + +//mock props +const key = "flow_vol" +const fieldData = { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 0.0003286 + ], + "bounds": [ + [ + null, + null + ] + ] + }, + "display_name": "flow_vol", + "description": "Volumetric flowrate in feed", + "display_units": "m3/s", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + +test('test input wrapper', () => { + + render( ) + + //test for component elements + screen.getByRole('textbox', { name: /flow_vol/i}); + + +}) \ No newline at end of file diff --git a/electron/ui/src/tests/NewFlowsheetDialog.test.js b/electron/ui/src/tests/NewFlowsheetDialog.test.js new file mode 100644 index 0000000000..91b961cc33 --- /dev/null +++ b/electron/ui/src/tests/NewFlowsheetDialog.test.js @@ -0,0 +1,31 @@ +import { render, screen } from '@testing-library/react'; +import NewFlowsheetDialog from "Components/NewFlowsheetDialog/NewFlowsheetDialog" + + +//mock props +const open = true +const mockClose = () => { + console.log("close"); +}; + +test('test new flowsheet dialog', () => { + render( ) + + //test that all textboxes are present + screen.getByRole('textbox', { name: /flowsheet name/i}); + screen.getByRole('textbox', { name: /has bypass/i}); + screen.getByRole('textbox', { name: /has desal feed/i}); + screen.getByRole('textbox', { name: /is twostage/i}); + screen.getByRole('textbox', { name: /has erd/i}); + screen.getByRole('textbox', { name: /nf type/i}); + screen.getByRole('textbox', { name: /nf base/i}); + screen.getByRole('textbox', { name: /ro type/i}); + screen.getByRole('textbox', { name: /ro base/i}); + screen.getByRole('textbox', { name: /ro level/i}); + + //test that cancel and create buttons are present + screen.getByRole('button', { name: /cancel/i}) + screen.getByRole('button', { name: /create/i}) + + //screen.debug(); +}) \ No newline at end of file diff --git a/electron/ui/src/tests/Page.test.js b/electron/ui/src/tests/Page.test.js new file mode 100644 index 0000000000..fa5635a250 --- /dev/null +++ b/electron/ui/src/tests/Page.test.js @@ -0,0 +1,12 @@ +import { render, screen } from '@testing-library/react'; +import Page from "Components/Page/Page" + +//mock props + +test('test input accordion', () => { + + render( ) + + //test for component elements + screen.getByRole('img', { name: /flowsheet/i}); +}) \ No newline at end of file diff --git a/electron/ui/src/tests/SolveDialog.test.js b/electron/ui/src/tests/SolveDialog.test.js new file mode 100644 index 0000000000..26f4c7ca15 --- /dev/null +++ b/electron/ui/src/tests/SolveDialog.test.js @@ -0,0 +1,571 @@ +import { render, screen } from '@testing-library/react'; +import SolveDialog from "Components/SolveDialog/SolveDialog" + +//mock props +const solveDialogOpen = true +const mockhandleSolved = (data) => { + console.log("handle solved.....",data); +}; +const flowsheetData = { + "blocks": { + "fs": { + "variables": {}, + "blocks": { + "feed": { + "variables": { + "flow_vol": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 0.0003286 + ], + "bounds": [ + [ + null, + null + ] + ] + }, + "display_name": "flow_vol", + "description": "Volumetric flowrate in feed", + "display_units": "m3/s", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "conc_mass_comp": { + "value": { + "index": [ + [ + 0, + "cod" + ], + [ + 0, + "hydrogen" + ], + [ + 0, + "methane" + ] + ], + "value": [ + 6.76, + 0.000030432136335974136, + 0.000030432136335974136 + ], + "bounds": [ + [ + null, + null + ], + [ + null, + null + ], + [ + null, + null + ] + ] + }, + "display_name": "conc_mass_comp", + "description": "Component mass concentrations", + "display_units": "kg/m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + }, + "blocks": {}, + "meta": { + "parameters": {} + }, + "display_name": "conc_mass_comp", + "description": "Zero-Order feed block" + }, + "metab_hydrogen": { + "variables": { + "volume": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "volume", + "description": "Reactor volume", + "display_units": "m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "hydraulic_retention_time": { + "value": { + "value": 6, + "bounds": [ + 0, + null + ] + }, + "display_name": "hydraulic_retention_time", + "description": "Hydraulic residence time", + "display_units": "h", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "electricity": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 1 + ], + "bounds": [ + [ + 0, + null + ] + ] + }, + "display_name": "electricity", + "description": "Electricity demand of unit", + "display_units": "kW", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "heat": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 1 + ], + "bounds": [ + [ + 0, + null + ] + ] + }, + "display_name": "heat", + "description": "Thermal demand of unit", + "display_units": "kW", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_electric_mixer_vol": { + "value": { + "value": 0.049875, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_electric_mixer_vol", + "description": "Electricity intensity of mixer with respect to reactor volume", + "display_units": "kW/m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_electric_vacuum_flow_vol_byproduct": { + "value": { + "value": 9.19, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_electric_vacuum_flow_vol_byproduct", + "description": "Electricity intensity of vacuum pump with respect to product gas flow", + "display_units": "h kW/kg", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_thermal_flow_vol_inlet": { + "value": { + "value": 7875, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_thermal_flow_vol_inlet", + "description": "Thermal energy intensity of reactor with respect to inlet volumetric flowrate", + "display_units": "kJ/m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + }, + "blocks": { + "costing": { + "variables": { + "DCC_bead": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "DCC_bead", + "description": "Direct capital cost of beads", + "display_units": "USD_2020", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "DCC_reactor": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "DCC_reactor", + "description": "Direct capital cost of reactor", + "display_units": "USD_2020", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "DCC_mixer": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "DCC_mixer", + "description": "Direct capital cost of mixer", + "display_units": "USD_2020", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "DCC_vacuum": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "DCC_vacuum", + "description": "Direct capital cost of vacuum pump", + "display_units": "USD_2020", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "DCC_membrane": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "DCC_membrane", + "description": "Direct capital cost of membrane", + "display_units": "USD_2020", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + }, + "blocks": {}, + "meta": { + "parameters": {} + }, + "display_name": "DCC_membrane", + "description": "none" + } + }, + "meta": { + "parameters": {} + }, + "display_name": "energy_thermal_flow_vol_inlet", + "description": "Zero-Order model for a METAB bioreactor" + }, + "metab_methane": { + "variables": { + "volume": { + "value": { + "value": 1, + "bounds": [ + 0, + null + ] + }, + "display_name": "volume", + "description": "Reactor volume", + "display_units": "m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "hydraulic_retention_time": { + "value": { + "value": 15, + "bounds": [ + 0, + null + ] + }, + "display_name": "hydraulic_retention_time", + "description": "Hydraulic residence time", + "display_units": "h", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "electricity": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 1 + ], + "bounds": [ + [ + 0, + null + ] + ] + }, + "display_name": "electricity", + "description": "Electricity demand of unit", + "display_units": "kW", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "heat": { + "value": { + "index": [ + [ + 0 + ] + ], + "value": [ + 1 + ], + "bounds": [ + [ + 0, + null + ] + ] + }, + "display_name": "heat", + "description": "Thermal demand of unit", + "display_units": "kW", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_electric_mixer_vol": { + "value": { + "value": 0.049875, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_electric_mixer_vol", + "description": "Electricity intensity of mixer with respect to reactor volume", + "display_units": "kW/m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_electric_vacuum_flow_vol_byproduct": { + "value": { + "value": 1.53, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_electric_vacuum_flow_vol_byproduct", + "description": "Electricity intensity of vacuum pump with respect to product gas flow", + "display_units": "h kW/kg", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "energy_thermal_flow_vol_inlet": { + "value": { + "value": 0, + "bounds": [ + 0, + null + ] + }, + "display_name": "energy_thermal_flow_vol_inlet", + "description": "Thermal energy intensity of reactor with respect to inlet volumetric flowrate", + "display_units": "kJ/m3", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + }, + "blocks": {}, + "meta": { + "parameters": {} + }, + "display_name": "energy_thermal_flow_vol_inlet", + "description": "Zero-Order model for a METAB bioreactor" + }, + "costing": { + "variables": { + "utilization_factor": { + "value": { + "value": 0.85, + "bounds": [ + null, + null + ] + }, + "display_name": "utilization_factor", + "description": "Plant capacity utilization [%]", + "display_units": "", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "TIC": { + "value": { + "value": 2, + "bounds": [ + null, + null + ] + }, + "display_name": "TIC", + "description": "Total Installed Cost (TIC)", + "display_units": "", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + }, + "maintenance_costs_percent_FCI": { + "value": { + "value": 0.03, + "bounds": [ + null, + null + ] + }, + "display_name": "maintenance_costs_percent_FCI", + "description": "Maintenance and contingency costs as % FCI", + "display_units": "1/a", + "indices": [], + "scale_factor": 0, + "to_units": "", + "readonly": false, + "category": "" + } + }, + "blocks": {}, + "meta": { + "parameters": {} + }, + "display_name": "maintenance_costs_percent_FCI", + "description": "Costing block for METAB model" + } + }, + "meta": { + "parameters": {} + }, + "display_name": "METAB treatment train", + "description": "Modular Encapsulated Two-stage Anaerobic Biological model" + } + }, + "meta": { + "parameters": {} + }, + "id": 1 +} +const id = 1; + +test('test input accordion', () => { + + render( ) +///flow_vol/i + //test for component elements + screen.getAllByRole('presentation', { name: ""}); + screen.getByRole('dialog', { name: ""}); + screen.getByRole('heading', { name: ""}); + screen.getByRole('progressbar', { name: ""}); + +}) \ No newline at end of file From 21dfa3207ab55e147566da1f4cf51ed3395226eb Mon Sep 17 00:00:00 2001 From: Michael Pesce Date: Thu, 7 Jul 2022 09:07:10 -0400 Subject: [PATCH 5/5] added error handling for invalid input on solve; added cypress test for invalid input --- .../cypress/e2e/InvalidFlowsheetInput.cy.js | 26 +++++++++++++++++++ .../components/InputWrapper/InputWrapper.js | 2 +- .../src/components/SolveDialog/SolveDialog.js | 7 +++-- electron/ui/src/tests/SolveDialog.test.js | 2 +- .../views/FlowsheetConfig/FlowsheetConfig.js | 23 +++++++++++++++- 5 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 electron/cypress/e2e/InvalidFlowsheetInput.cy.js diff --git a/electron/cypress/e2e/InvalidFlowsheetInput.cy.js b/electron/cypress/e2e/InvalidFlowsheetInput.cy.js new file mode 100644 index 0000000000..e7f5237879 --- /dev/null +++ b/electron/cypress/e2e/InvalidFlowsheetInput.cy.js @@ -0,0 +1,26 @@ +describe('Invalid Input Test', () => { + it('test negative input for recovery rate', () => { + //load webpage + cy.visit('/') + + //click example ro flowsheet + cy.findByRole('link', { name: /example ro flowsheet/i}).click() + + //enter negative value for recovery rate + var recovery_textbox = cy.get('#outlined-basicRecovery') + recovery_textbox.click({force:true}) + recovery_textbox = cy.get('#outlined-basicRecovery') + recovery_textbox.type('{backspace}{backspace}{backspace}-10') + + //click on save + cy.findAllByRole('button', { name: /save/i}).eq(0).click() + + //click on solve + cy.findAllByRole('button', { name: /solve/i}).eq(0).click() + + //find error message + cy.findByRole('alert') + + }) + +}) \ No newline at end of file diff --git a/electron/ui/src/components/InputWrapper/InputWrapper.js b/electron/ui/src/components/InputWrapper/InputWrapper.js index d0e46c70f9..a61ada3dd0 100644 --- a/electron/ui/src/components/InputWrapper/InputWrapper.js +++ b/electron/ui/src/components/InputWrapper/InputWrapper.js @@ -36,7 +36,7 @@ export default function InputWrapper(props) { } return - { if(open) @@ -20,7 +20,10 @@ export default function SolveDialog(props) { .then((outputData)=>{ console.log("outputData",outputData); handleSolved(outputData); - }); + }).catch(e => { + console.log("caught error: "+e) + handleError() + }); //},3000); } },[open]); diff --git a/electron/ui/src/tests/SolveDialog.test.js b/electron/ui/src/tests/SolveDialog.test.js index 26f4c7ca15..cb0a3d1a47 100644 --- a/electron/ui/src/tests/SolveDialog.test.js +++ b/electron/ui/src/tests/SolveDialog.test.js @@ -561,7 +561,7 @@ const id = 1; test('test input accordion', () => { render( ) -///flow_vol/i + //test for component elements screen.getAllByRole('presentation', { name: ""}); screen.getByRole('dialog', { name: ""}); diff --git a/electron/ui/src/views/FlowsheetConfig/FlowsheetConfig.js b/electron/ui/src/views/FlowsheetConfig/FlowsheetConfig.js index ba1d435136..df933d1eac 100644 --- a/electron/ui/src/views/FlowsheetConfig/FlowsheetConfig.js +++ b/electron/ui/src/views/FlowsheetConfig/FlowsheetConfig.js @@ -52,6 +52,7 @@ export default function FlowsheetConfig() { const [solveDialogOpen, setSolveDialogOpen] = useState(false); const [outputData, setOutputData] = useState(null); const [openSuccessSaveSnackbar, setOpenSuccessSaveSnackbar] = React.useState(false); + const [openErrorSnackbar, setOpenErrorSnackbar] = useState(false); useEffect(()=>{ //console.log("params.id",params.id); @@ -118,6 +119,12 @@ export default function FlowsheetConfig() { setSolveDialogOpen(false); }; + const handleError = () => { + console.log("handle error"); + + setOpenErrorSnackbar(true); + setSolveDialogOpen(false); + }; const handleSave = (data) => { console.log("handle save.....",data); @@ -134,6 +141,9 @@ export default function FlowsheetConfig() { setOpenSuccessSaveSnackbar(false); }; + const handleErrorSnackbarClose = () => { + setOpenErrorSnackbar(false); + }; const handleReset = () => { console.log("reset. id:", params.id) @@ -182,13 +192,24 @@ export default function FlowsheetConfig() { ) } - + + + + + Error: Data Input Infeasible + + );