Commit graph

228 commits

Author SHA1 Message Date
Iván Ovejero 3028ad3c61
refactor: Format root-level dirs (no-changelog) (#4938)
🎨 Format root-level dirs
2022-12-15 16:39:59 +01:00
Iván Ovejero 4208040495
test(editor): Add e2e tests for inline expression editor (#4936)
🧪 Add tests for inline expression editor
2022-12-15 15:36:28 +01:00
Milorad FIlipović 9956547504
test(editor): Add more tests for workflow actions (no-changelog) (#4931)
*  Added test for importing workflow from URL
*  Added test for importing workflow from file
*  Added test ids for workflow settings elements
*  Added test for changing workflow settings
*  Adding back missing test id for delete node button
2022-12-14 17:13:03 +01:00
Milorad FIlipović 69e9bf082b
test(editor): Add e2e tests for undo/redo (#4904)
*  Added history store and mixin
*  Implemented node position change undo/redo
*  Implemented move nodes bulk command
*  Not clearing the redo stack after pushing the bulk command
* 🔨 Implemented commands using classes
* 🔥 Removed unnecessary interfaces and actions
* 🔥 Removing unused constants
* 🔨 Refactoring classes file
*  Adding eventBus to command obects
*  Added undo/redo support for adding and removing nodes
*  Implemented initial add/remove connections undo support
*  Covering some corner cases with reconnecting nodes
*  Adding undo support for reconnecting nodes
*  Fixing going back and forward between undo and redo
*  Implemented async command revert
*  Preventing push to undo if bulk redo/undo is in progress
*  Handling re-connecting nodes and stopped pushing empty bulk actions to undo stack
*  Handling adding a node between two connected nodes
*  Handling the case of removing multiple connections on the same index. Adding debounce to undo/redo keyboard calls
*  Removing unnecessary timeouts, adding missing awaits, refactoring
*  Resetting history when opening new workflow, fixing incorrect bulk recording when inserting node
* ✔️ Fixing lint error
*  Minor refactoring + some temporary debugging logs
*  Preserving node properties when undoing it's removal, removing some unused repaint code
*  Added undo/redo support for import workflow and node enable/disable
* 🔥 Removing some unused constant
*  Added undo/redo support for renaming nodes
*  Fixing rename history recording
*  Added undo/redo support for duplicating nodes
* 📈 Implemented telemetry events
* 🔨 A bit of refactoring
*  Fixing edgecases in removing connection and moving nodes
*  Handling case of adding duplicate nodes when going back and forward in history
*  Recording connections added directly to store
*  Moving main history reset after wf is opened
* 🔨 Simplifying rename recording
* 📈 Adding NDV telemetry event, updating existing event name case
* 📈 Updating telemetry events
*  Added initial undo/redo tests
*  Fixing duplicate connections on undo/redo
*  Stopping undo events from firing constantly on keydown
*  Added connection test for undo/redo
* 📈 Updated telemetry event for hitting undo in NDV
*  Adding undo support for disabling nodes using keyboard shortcuts
*  Added more tests for adding and deleting nodes undo/redo
*  Preventing adding duplicate connection commands to history
* 📈 Adding connection assertions to delete node tests
*  Clearing redo stack when new change is added
*  Preventing adding connection actions to undo stack while redoing them
* 👌 Addressing PR comments part 1
* 👌 Moving undo logic for disabling nodes to `NodeView`
* 👌 Implemented command comparing logic
*  Fix for not clearing redo stack on every user action
*  Fixing recording when moving nodes
*  Fixing undo for moving connections
*  Fixing tracking new nodes after latest merge
*  Fixing broken bulk delete
*  Added tests for moving nodes
*  Added tests for deleting connections
*  Added tests for disabling nodes
*  Added node rename tests
*  Added tests for duplicating and pasting nodes
*  Added multi-step undo/redo tests
*  Fixing assertion condition
*  Fixing timeout issue between keyboard strokes
* ⬆️ Updating pnpm lock file
*  Waiting for page load to finish before each test
*  Adding proper handling of meta key press
* 🚨 Temporarily disabling slack notifications
*  Adding check before clicking connection actions
*  Removing comments from other undo tests
* 🎨 Fixing a typo
2022-12-14 10:33:44 +01:00
OlegIvaniv 297a043875
test(editor): Fix flaky workflow tags e2e tests and store screenshots from CI runs (#4903)
* test(editor): Fix flaky add tags e2e specs, and upload cypress artifacts on failure

* Only run smoke test to debug the pipeline

* Add waitForLoad command and revert debugging changes
2022-12-13 11:55:51 +01:00
OlegIvaniv 79fe57dad8
feat(editor): Node creator actions (#4696)
* WIP: Node Actions List UI

* WIP: Recommended Actions and preseting of fields

* WIP: Resource category

* 🎨 Moved actions categorisation to the server

* 🏷️ Add missing INodeAction type

*  Improve SSR categorisation, fix adding of mixed actions

* ♻️ Refactor CategorizedItems to composition api, style fixes

* WIP: Adding multiple nodes

* ♻️ Refactor rest of the NodeCreator component to composition API, conver globalLinkActions to composable

*  Allow actions dragging, fix search and refactor passing of actions to categorized items

* 💄 Fix node actions title

* Migrate to the pinia store, add posthog feature and various fixes

* 🐛 Fix filtering of trigger actions when not merged

* fix: N8N-5439 — Do not use simple node item when at NodeHelperPanel root

* 🐛 Design review fixes

* 🐛 Fix disabling of merged actions

* Fix trigger root filtering

*  Allow for custom node actions parser, introduce hubspot parser

* 🐛 Fix initial node params validation, fix position of second added node

* 🐛 Introduce operations category, removed canvas node names overrride, fix API actions display and prevent dragging of action nodes

*  Prevent NDV auto-open feature flag

* 🐛 Inject recommened action for trigger nodes without actions

* Refactored NodeCreatorNode to Storybook, change filtering of merged nodes for the trigger helper panel, minor fixes

* Improve rendering of app nodes and animation

* Cleanup, any only enable accordion transition on triggerhelperpanel

* Hide node creator scrollbars in Firefox

* Minor styles fixes

* Do not copy the array in rendering method

* Removed unused props

* Fix memory leak

* Fix categorisation of regular nodes with a single resource

* Implement telemetry calls for node actions

* Move categorization to FE

* Fix client side actions categorisation

* Skip custom action show

* Only load tooltip for NodeIcon if necessary

* Fix lodash startCase import

* Remove lodash.startcase

* Cleanup

* Fix node creator autofocus on "tab"

* Prevent posthog getFeatureFlag from crashing

* Debugging preview env search issues

* Remove logs

* Make sure the pre-filled params are update not overwritten

* Get rid of transition in itemiterator

* WIP: Rough version of NodeActions keyboard navigation, replace nodeCreator composable with Pinia store module

* Rewrite to add support for ActionItem to ItemIterator and make CategorizedItems accept items props

* Fix category item counter & cleanup

* Add APIHint to actions search no-result, clean up NodeCreatorNode

* Improve node actions no results message

* Remove logging, fix filtering of recommended placeholder category

* Remove unused NodeActions component and node merging feature falg

* Do not show regular nodes without actions

* Make sure to add manual trigger when adding http node via actions hint

* Fixed api hint footer line height

* Prevent pointer-events od NodeIcon img and remove "this" from template

* Address PR points

* Fix e2e specs

* Make sure canvas ia loaded

* Make sure canvas ia loaded before opening nodeCreator in e2e spec

* Fix flaky workflows tags e2e getter

* Imrpove node creator click outside UX, add manual node to regular nodes added from trigger panel

* Add manual trigger node if dragging regular from trigger panel
2022-12-09 10:56:36 +01:00
OlegIvaniv 1c36c37a12
test(editor): Fix flaky e2e tests (#4779)
* test(editor): Fix default-owner and credentials saving e2e specs

* test(editor): fix webhook node test

* test(editor): add cy command for browser permissions

* test(editor): add cy command for reading clipboard

* Fix 3-default-owner spec

* Resolve review comments

* Merge spec

* Fix http node and expression editor modal specs

* Add optional param to credentials modal saving action to wait for the test endpoint

* Improve sidebar items clicking and increase credentials saving timeout

* Rename http e2e spec to fix ordering

* Fix pasting and copying of nodes e2e spec

* Make sure to only access error.cause if it exists

* Wait longer for the keyboard press

* Make sure to focus the body when typing

* Try type delay

* Use meta key based on the running platform

* Fix flaky workflowTagElements getter

Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-12-07 18:16:38 +01:00
Milorad FIlipović e07e32f14d
test(editor): Add more workflow actions tests (#4799)
*  Making workflow actions tests skip setup, changing suite number
* 🔥 Removing unnecessary imports and vars
*  Adding workflow tags and copy/paste tests
*  Added tests for copying and pasting nodes
* Update cypress/support/commands.ts
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👌 Moving paste data to fixtures
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-12-05 14:31:14 +01:00
Iván Ovejero 59771c80ea
feat(editor): Overhaul expression editor modal (#4631)
* feat(editor): Integrate CodeMirror into expression editor modal (#4563)

*  Initial setup

* 👕 Fix lint

*  Extract segments

*  Implement var insertion

* 👕 Ignore `.d.cts`

*  Refactor to simplify

*  Add brace handler

*  Fully replace input and output

* feat(editor): Adjust resolved expression to match parameter input hint (#4600)

*  Initial adjustments

* 🐛 Prevent empty decorations

*  Adjust resolved expression to match param input hint

* ✏️ Improve comment

* 👕 Remove lint rule

* ✏️ Fix typo

* ✏️ Fix closing brace

*  Clean up `displayableSegments()`

* feat(editor): Apply styling to expression editor modal (#4607)

🎨 Apply styling

* feat(core): Improve errors in evaluated expression (#4619)

* 🐛 Fix env var access for FE

* 🔥 Remove excess closing bracket

* 🚧 Set up TODO

* ✏️ Update copy

*  Deny env vars access to FE

* 👕 Remove unneeded lint exception

* 📘 Remove unneeded typing

* feat(editor): Dynamically delay evaluation resolution (#4625)

* ✏️ Update copy

*  Dynamically delay evaluation resolution

* 🔥 Remove unneeded computed property

* refactor(editor): Pre-review cleanup (#4627)

* 🔥 Remove `ExpressionInput` component

* 🔥 Remove Quill

* ✏️ Rename i18n key

* 🎨 Place border on correct element

* 🐛 Handle syntax errors

*  Add sample autocompletions

* 🐛 Fix auto-extending behavior

* feat(editor): Improve escaping behavior (#4641)

* 🎨 Hide hint on small screen

*  Improve escaping

* refactor(editor): Apply styling feedback to expression editor modal (#4660)

* 🎨 Restyle hint

* 🎨 Restyle param input hint

* 🔥 Remove `e.g.`

*  Tweak delay

* 🎨 Restyle output

* 🎨 Tweak theme

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.22 (#4697)

* 🎨 Change background color

*  Focus on mount

*  Account for preexisting braces on injection

* 🐛 Fix `$workflow` showing as not saved

* ✏️ Tweak copy

* 🐛 Fix readonly focus

*  Focus input on paste

*  Sync inputs with modal

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.23 (#4705)

*  Allow newlines

*  Set cursor at end of content

*  Do not defocus on paste on Chrome

*  Fix import

* 🧪 Add e2e tests

*  Cleanup

*  Add telemetry

* 🔥 Remove log

*  Expose error properties

* 🧪 Rename test

*  Move `getCurrentWorkflow()` call

*  Revert highlighting removal per feedback

*  Add i18n keys

* 🚚 Move computed property to local state

* 🎨 Use CSS vars

*  Update `pnpm-lock.yaml`

*  Apply readonly state

*  Use prop

*  Complete fix
2022-12-01 13:26:22 +01:00
Csaba Tuncsik 430cc65a4e
test: E2E NDV (#4712)
* test: start testing node details view

* test: deleting workflow after test

* test: rename deleteWorkflow command

* test: webhook node

* test: roll back deleting workflow in workflow test

* test: check output display modes after webhook node invoked

* test: simplifying test

* test: simplifying test

* test: adding more tests related to NDV

* test: adding more tests related to NDV

* test: update after merge

* Merge remote-tracking branch 'origin/master' into n8n-5494-e2e-ndv

# Conflicts:
#	cypress/pages/workflow.ts

* test: improving test blocks

* test: NDV change node input

* test: NDV change node input

* test: NDV fix missing command

* test(editor): Add NDV page object
2022-12-01 09:26:38 +01:00
OlegIvaniv c486ffcf2d
refactor(editor): Patch ElementUI tooltip memory leak (#4769)
* refactor(editor): Fix ElementUI tooltip memory leak

* fix(editor): Remove patch console.logs and revert node-creator test
2022-11-30 17:27:41 +01:00
OlegIvaniv 92c77127d6
test: Skip e2e check of rendered nodes in node creator (#4761) 2022-11-29 15:13:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ f023e957b0
fix: Fix the e2e tests on master (no-changelog) (#4746) 2022-11-28 21:01:44 +02:00
Alex Grozav 622118f983
feat: Make use of db:reset in all test suites (no-changelog) (#4739)
* feat: Make use of db:reset in all test suites

* refactor: Rename task to no longer use db: prefix

* feat: wrap cypress tasks into commands

* refactor: rename resetDatabase to resetAll

* fix: update test:e2e:all to use --headless
2022-11-28 18:11:33 +01:00
Iván Ovejero 8f6fd009b9
test: Set up e2e tests for Code node (#4730)
* 🧪 Set up Code node tests

*  Address comments
2022-11-28 16:54:13 +01:00
Alex Grozav 14f81c2725
test: Update getters, add search and sort tests for credentials (no-changelog) (#4716)
* test(e2e): Update getters, add search and sort tests for credentials

* fix: Refactor sortOptions getter

* fix: fix merge conflict

* fix: removed double key

* fix: Add db and session reset for every credentials suite run
2022-11-28 12:11:39 +02:00
Milorad FIlipović e3aeaa9a87
fix(editor): Fix for broken selectors for workflows tests (no-changelog) (#4734)
Fixing broken selectors for workflows tests
2022-11-25 17:10:28 +01:00
OlegIvaniv 2d31720b82
test: Reset DB and skip set-up before running node creator e2e (#4733)
* test: Reset DB and skip set-up before runing

* remove second db:reset call in node-creator e2e spec
2022-11-25 17:01:49 +01:00
Milorad FIlipović cb3bfc32f7
test: Setup e2e tests for workflow actions (#4724)
*  Adding first batch of workflow actions tests
*  Adding loading handling logic and new workflow actions tests
*  Added workflow activation and rename tests
* 👌 Addressing review feedback
* 🔥 Removing leftover commented code
2022-11-25 15:32:09 +01:00
Iván Ovejero 39a5dc57a8
fix: Fix HTTP Request node e2e test in full run (no-changelog) (#4728)
🐛 Reset state
2022-11-25 13:57:34 +01:00
OlegIvaniv aa3d9c7fea
test: Add e2e tests for node creator (#4714)
* test: Add basic e2e tests for node creator

* add spec to check if all nodes are rendered

* revert SearchBar.vue changes

* fixed manual key typo

Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* Add custom component tests

* Fix wrongly resolved merge conflcit

Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2022-11-25 13:52:33 +01:00
Iván Ovejero 62d30f2b43
test: Set up e2e tests for HTTP Request node (#4718)
* 🧪 Add test identifiers

*  Add getters

* 🧪 Add initial test

*  Refactor to use actions

*  Refactor per Oleg's advice

* 🐛 Fix overlapping input label IDs
2022-11-25 13:09:44 +01:00
Mutasem Aldmour 95b97078e8
test: Add e2e tests for workflow/credential migrations when enabling UM (#4719)
* add tests

* ci: Setup cypress tasks for resetting DB, and setting up an owner

* add test tests to check for settings

* add more tests

* clean up

* rename tag

* update test id

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-11-24 23:22:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ e409813ea9
ci: Setup cypress tasks for resetting DB, and setting up an owner (#4717)
* ci: Setup cypress tasks for resetting DB, and setting up an owner

* address Ivan's comments
2022-11-24 18:32:00 +01:00
Mutasem Aldmour d46050c974
test: Add initial e2e tests for default owner setup (#4710)
* use user-folder override consistently everywhere, including for the `.cache` folder

* use consistent config for e2e tesing, skipping config loading from env and config files

* simplify all the cypress commands, and run all e2e tests on master

* add tests for skipping owner setup

* add todos

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-11-24 12:52:09 +01:00
Alex Grozav b5b44d1b59
feat: Add credentials E2E test suite and page object (#4596)
* fix: Fix inferred type of X cannot be named error after pnpm update

* feat: Change page objects to expose actions and getters. Add credential creation suite
2022-11-22 11:37:26 +02:00
OlegIvaniv 50f7538779
refactor(editor): Add Workflows view e2e tests (#4573) 2022-11-11 09:07:14 +01:00
Alex Grozav 77644860c0
feat: Add cypress e2e tests for signup and signin (#3490)
* feat: Added cypress setup files.

* feat: Added server bootup and initial test run.

* feat: Added e2e tests for signin, signup, and personalization form.

* feat: Added e2e tests for adding a function node.

* feat: Added set node and workflow execution steps.

* feat: Added test id to main sidebar.

* feat: Added test for creating a new workflow.

* feat: Finished test for creating a blank workflow

* chore: Removed screenshots from e2e tests.

* refactor: change e2e tests to per page structure

* feat: add cypress type enchancements

* feat: add typescript for cypress tests

* fix: remove component after merge

* feat: update cypress definitions

* feat: add cypress cleanup task

* refactor: update cypress script names

* ci: add smoke tests to workflow

* chore: remove cypress example files

* feat: update signup flow to be reusable

* fix: fix signup route for cypress page object

* fix: remove cypress reset command

* fix: remove unused imports

* fix: Add unhandled error catcher
2022-11-08 14:21:10 +02:00