This page lists the test ids Toolio guarantees in the Merchandise Plan planning view. Use them to load a plan, filter it, change the timeframe and scenario, seed, edit, and save from an automated test.
For the general rules, locator patterns, and the log of contract changes, see Automating UI Tests in Toolio.
Use Cases
Load a plan with a set of filters and a timeframe, then check values in the grid.
Edit cells, save, and confirm the edits stuck.
Seed a scenario from another and verify the result.
Toolbar
These controls sit inside the planning view's toolbar. Scope to mfp-toolbar because dialogs such as Seed render their own copies of the same controls.
Test id | Element |
| The planning view's toolbar. Use it as the container for the ids below. |
|
|
|
|
| Timeframe button |
|
|
| Clear icon on the |
Top Bar
These controls are in Toolio's top bar, outside mfp-toolbar. Find them from page.
Test id | Element |
|
|
|
|
| Task Manager |
Filters
Test id | Element |
| The open Filters menu |
| One applied filter. |
| Field name in a row |
| Operator select (is, is not, …) |
| Value control |
| Removes a row |
|
|
| Search box in the field list |
| A field in the list. |
Timeframe
Test id | Element |
| The open timeframe list |
|
|
| Start year select |
| Start period select |
| End year select |
| End period select |
|
|
|
|
Scenarios
Test id | Element |
|
|
| Scenario search box |
| A scenario in the list. |
|
|
To pick a scenario by name, type it into the search box and filter the options by text:
await page.getByTestId("scenario-search-input").locator("input").fill("Working Plan");
await page.getByTestId("scenario-option").filter({ hasText: "Working Plan" }).click();
Seed
Test id | Element |
|
|
| The Seed dialog. Use it as the container for the dialog's own |
| Source scenario |
| Target scenario |
|
|
|
|
Confirmation Dialogs
The three dialogs below have their own ids. Any other confirmation in the planning view uses confirm-dialog. All of them share the same button ids.
Test id | Element |
| Validation Warning |
| Data Changed |
| Reset Plan Values |
| Any other confirmation dialog |
| The dialog's main action |
|
|
| The third option, when the dialog has one, for example |
Leaving the plan with unsaved edits opens the browser's own confirmation, not one of these dialogs. See Handle the Browser's Own Confirmation in Automating UI Tests in Toolio.
Grid and Cells
Test id | Element |
| The planning grid. |
| Loading overlay over the grid |
| Cell tooltip |
| A section of the tooltip. |
|
|
Edited cells also carry the edited-cell class, and the plan URL keeps its query parameters. Both are part of this contract.
❗ mfp-grid reports aria-busy="true" until its first load finishes or fails. Click Load Data before you wait for "false", and give the wait a timeout.
What Is Not Covered
Individual grid cells. Use the grid's column ids and row index.
The Save With Comments dialog and the scenario section headings in the Scenarios menu.
CSS classes other than
edited-cell, labels, placeholder text, and icons.
FAQs
Why does filter-toolbar-button match two elements?
The Seed dialog has its own Filters and timeframe controls. Start from mfp-toolbar or seed-plan-dialog.
Which button loads the new data in the Data Changed dialog?
confirm-dialog-confirm is Load New Data (or Load New Data & Apply Changes when you have unsaved edits), and confirm-dialog-cancel is Cancel. The ids follow the action, not the button's position. Scope both to data-changed-dialog.
