[PR #911] [MERGED] Add UI Tests using Playwright with BDD #1139

Closed
opened 2026-02-04 21:52:56 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/plankanban/planka/pull/911
Author: @nabim777
Created: 10/17/2024
Status: Merged
Merged: 10/17/2024
Merged by: @meltyshev

Base: masterHead: tests-for-UI


📝 Commits (10+)

📊 Changes

17 files changed (+1259 additions, -119 deletions)

View changed files

.github/workflows/build-and-test.yml (+73 -0)
client/nightwatch.conf.js (+0 -19)
📝 client/package-lock.json (+912 -9)
📝 client/package.json (+5 -4)
client/tests/acceptance/config.js (+12 -0)
📝 client/tests/acceptance/cucumber.conf.js (+28 -18)
client/tests/acceptance/features/webUIDashboard/dashboard.feature (+10 -0)
📝 client/tests/acceptance/features/webUILogin/login.feature (+23 -5)
client/tests/acceptance/pageObjects/DashboardPage.js (+16 -0)
client/tests/acceptance/pageObjects/LoginPage.js (+38 -0)
client/tests/acceptance/pageObjects/dashboardPage.js (+0 -20)
client/tests/acceptance/pageObjects/loginPage.js (+0 -26)
client/tests/acceptance/stepDefinitions/dashBoardContext.js (+17 -0)
📝 client/tests/acceptance/stepDefinitions/loginContext.js (+44 -17)
client/tests/acceptance/testHelpers/apiHelpers.js (+57 -0)
client/tests/setup-symlinks.sh (+23 -0)
📝 package.json (+1 -1)

📄 Description

Description

- User logs in with valid credentials.
- Login with invalid username and password.
- User creates a new project.
- User logs out successfully.
  • Additionally, continuous integration (CI) has been implemented to run these tests automatically during the CI pipeline.
  • Axios used for making API calls in some tests.

NOTE
To keep this PR small, I’ve focused on these key scenarios. If you like, I’d be happy to add more test scenarios in future contributions. Test scenarios that can be added in the future contributions are like

- create a user
- delete a user
- rename a user
- delete a project
- rename a project
- edit the project background
- create a new project board
and other CRUD operations on board and user

If there is any suggestions or feedback, I’d love to hear them!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/plankanban/planka/pull/911 **Author:** [@nabim777](https://github.com/nabim777) **Created:** 10/17/2024 **Status:** ✅ Merged **Merged:** 10/17/2024 **Merged by:** [@meltyshev](https://github.com/meltyshev) **Base:** `master` ← **Head:** `tests-for-UI` --- ### 📝 Commits (10+) - [`94125fe`](https://github.com/plankanban/planka/commit/94125fe7b7beba7805c742b1661d3285b8ef8414) initialize playwright - [`8009742`](https://github.com/plankanban/planka/commit/8009742ba74ec83a614357765d6d4a991ca040d5) add test for the login - [`95c8175`](https://github.com/plankanban/planka/commit/95c8175e8cef969a186477540be3eadb27e875af) add ci workflows to run test - [`db81ebc`](https://github.com/plankanban/planka/commit/db81ebcc7f3bed80684c897c299d6ae7cdb94f9a) add test for dashboard - [`9670bd0`](https://github.com/plankanban/planka/commit/9670bd01f86baad3cfaa0a3f76ebc85ecd6cf7b5) add the config.js file - [`8b1a599`](https://github.com/plankanban/planka/commit/8b1a599bee3ec0a6f1e95b230015611d043806ae) refactor the code - [`a4d8cdb`](https://github.com/plankanban/planka/commit/a4d8cdb14d7c4dfd8fc649acf5047142bdf9578a) refactor ci - [`010c586`](https://github.com/plankanban/planka/commit/010c58638874cb648037c8686d48c87cae3c388b) add package-lock file - [`21d7bcc`](https://github.com/plankanban/planka/commit/21d7bccfaad54e9a9d43a3403bb97a24cb3e4913) remove background from feature file - [`90bbd0d`](https://github.com/plankanban/planka/commit/90bbd0d067fe680c8edb607f5369e5510500f5d9) Merge branch 'master' into tests-for-UI ### 📊 Changes **17 files changed** (+1259 additions, -119 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/build-and-test.yml` (+73 -0) ➖ `client/nightwatch.conf.js` (+0 -19) 📝 `client/package-lock.json` (+912 -9) 📝 `client/package.json` (+5 -4) ➕ `client/tests/acceptance/config.js` (+12 -0) 📝 `client/tests/acceptance/cucumber.conf.js` (+28 -18) ➕ `client/tests/acceptance/features/webUIDashboard/dashboard.feature` (+10 -0) 📝 `client/tests/acceptance/features/webUILogin/login.feature` (+23 -5) ➕ `client/tests/acceptance/pageObjects/DashboardPage.js` (+16 -0) ➕ `client/tests/acceptance/pageObjects/LoginPage.js` (+38 -0) ➖ `client/tests/acceptance/pageObjects/dashboardPage.js` (+0 -20) ➖ `client/tests/acceptance/pageObjects/loginPage.js` (+0 -26) ➕ `client/tests/acceptance/stepDefinitions/dashBoardContext.js` (+17 -0) 📝 `client/tests/acceptance/stepDefinitions/loginContext.js` (+44 -17) ➕ `client/tests/acceptance/testHelpers/apiHelpers.js` (+57 -0) ➕ `client/tests/setup-symlinks.sh` (+23 -0) 📝 `package.json` (+1 -1) </details> ### 📄 Description ## Description - In this PR, there are UI tests using [Playwright](https://playwright.dev/) and [Behavior-Driven Development (BDD)](https://cucumber.io/docs/bdd/) with [Gherkin syntax](https://cucumber.io/docs/gherkin/reference/). - Test scenario included: ```console - User logs in with valid credentials. - Login with invalid username and password. - User creates a new project. - User logs out successfully. ``` - Additionally, continuous integration (CI) has been implemented to run these tests automatically during the CI pipeline. - Axios used for making API calls in some tests. --- **NOTE** To keep this PR small, I’ve focused on these key scenarios. If you like, I’d be happy to add more test scenarios in future contributions. Test scenarios that can be added in the future contributions are like ```console - create a user - delete a user - rename a user - delete a project - rename a project - edit the project background - create a new project board and other CRUD operations on board and user ``` _If there is any suggestions or feedback, I’d love to hear them!_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-04 21:52:56 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/planka#1139