Files
twenty/packages/twenty-e2e-testing
Baptiste Devessier 3cc66fe712 Remove the source handle for leaf nodes (#10057)
- Do not render a source handle for the leaf nodes
- Upgrade the `@xyflow/react` library

| Before | After |
|--------|--------|
| ![CleanShot 2025-02-06 at 16 21
08@2x](https://github.com/user-attachments/assets/42b7d11b-76bf-43b9-ba91-8d0c5c2f1792)
| ![CleanShot 2025-02-06 at 16 21
24@2x](https://github.com/user-attachments/assets/ac94aa32-45ad-4462-8db9-0078d6252ea4)
|

## Other options considered

React Flow exposes a hook to get the connections of the current node. I
tried to use this hook – which makes things way simpler – but I couldn't
find a way to make it work in Storybook. I had two options: 1. Set up
React Flow to render the nodes properly, 2. Mock the hook in Storybook.

The first option was hard to achieve as the `<Reactflow />` component
renders a whole flow, and it doesn't play well with the idea of
rendering a single node in a story.

The second option seemed overkill as mocking modules with Storybook is
not straightforward. See
https://storybook.js.org/docs/writing-stories/mocking-data-and-modules/mocking-modules.

I chose to keep the initial version of my code, written before I spot a
function simplifying the code. We can give it a look another time.
2025-02-07 13:17:43 +01:00
..
2025-02-03 22:00:54 +01:00
2024-08-27 11:07:10 +02:00

Twenty end-to-end (E2E) Testing

Prerequisite

Installing the browsers:

npx nx setup twenty-e2e-testing

Run end-to-end tests

npx nx test twenty-e2e-testing

Start the interactive UI mode

npx nx test:ui twenty-e2e-testing

Run test in specific file

npx nx test twenty-e2e-testing <filename>

Example (location of the test must be specified from the root of twenty-e2e-testing package):

npx nx test twenty-e2e-testing tests/login.spec.ts

Runs the tests in debug mode.

npx nx test:debug twenty-e2e-testing

Show report after tests

npx nx test:report twenty-e2e-testing

Q&A

Why there's path.resolve() everywhere?

That's thanks to differences in root directory when running tests using commands and using IDE. When running tests with commands, the root directory is twenty/packages/twenty-e2e-testing, for IDE it depends on how someone sets the configuration. This way, it ensures that no matter which IDE or OS Shell is used, the result will be the same.