User tests: Successful: Unsuccessful:
System Tests are failing with #46631 as db_createCategory() hacks the category simplified in the database table. To prevent reimplementing nested set properly (lft/rgt/level/path) it is simple replaced by api_post() call.
db_createCategory() by api_post()db_createCategory() command in source and documentationbeforeEach() deletion as recommended by Cypress.
afterEach there may stay objects in instance, e.g. news feed category 'Automated System Tests Category Title feed delete'support/constants.mjs with AST_CATEGORY_TITLE
db_* commands, but the other ones we would leave for performance reasons.npx cypress run --spec tests/System/integration/administrator/components/com_categories/Categories.cy.js
npx cypress run --spec tests/System/integration/administrator/components/com_categories/Categories.cy.js
db_createCategory() is removed from source and documentationPlease select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_categories Unit Tests Repository JavaScript |
| Labels |
Added:
Unit/System Tests
PR-6.1-dev
|
||
| Category | Administration com_categories Unit Tests Repository JavaScript | ⇒ | Unit Tests Repository JavaScript |
To prevent reimplementing nested set properly (lft/rgt/level/path) it is simple replaced by api_post() call.
surely that makes it an unrealistic test
There are tests that create a category in the backend. What we are talking about here is that if we need to create categories as a prerequisite for other tests, the not fully implemented database table hack will be replaced by API call.
| Labels |
Added:
bug
|
||
I would move the api call to its own function and not call everywhere the api directly.
| Title |
|
||||||
I would move the api call to its own function and not call everywhere the api directly.
Sorry, I don't understand the reasons for this. That would be a separate function with a different name, but without any additional functionality, right? But what's the advantage? And does that only apply to the changed places or also to the 200 cy.api_* calls in 40 files that already exist?
Maybe we can do that later as refactoring and just do the bare minimum in this PR to make it work?
surely that makes it an unrealistic test