Skip to content

Commit 06b24d2

Browse files
committed
Fixed some issues with tests
1 parent 66e6542 commit 06b24d2

File tree

6 files changed

+37
-19
lines changed

6 files changed

+37
-19
lines changed

src/routes/v2/admin/tasks/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@
287287
<col width="90" />
288288
<col width="80" />
289289
<col width="120" />
290-
<col width="120" />
290+
<col width="150" />
291291
<col width="100" />
292292
</colgroup>
293293
<thead>

src/routes/v2/projects/[projectId]/datasets/[datasetId]/+page.svelte

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -215,25 +215,31 @@
215215
216216
async function applySearchFields() {
217217
searching = true;
218+
await searchImages();
218219
resetBtnActive =
219220
Object.values(attributeFilters).filter((a) => a !== null).length > 0 ||
220221
Object.values(typeFilters).filter((t) => t !== null).length > 0;
221-
await searchImages();
222222
searching = false;
223223
}
224224
225225
async function resetSearchFields() {
226+
resetBtnActive = false;
226227
resetting = true;
228+
for (const selector of Object.values(attributesSelectors)) {
229+
selector.setSelected('');
230+
}
227231
attributeFilters = getAttributeFilterBaseValues(imagePage);
228232
typeFilters = getTypeFilterBaseValues(imagePage);
229-
resetBtnActive = false;
230233
await tick();
231234
await searchImages();
232235
resetting = false;
233236
}
234237
235238
async function reload() {
236239
reloading = true;
240+
attributeFilters = getAttributeFilterBaseValues(imagePage);
241+
typeFilters = getTypeFilterBaseValues(imagePage);
242+
await tick();
237243
await searchImages();
238244
reloading = false;
239245
}
@@ -484,23 +490,23 @@
484490
<button
485491
class="btn"
486492
on:click={applySearchFields}
487-
disabled={searching || !applyBtnActive}
493+
disabled={searching || resetting || !applyBtnActive}
488494
class:btn-primary={applyBtnActive}
489495
class:btn-secondary={!applyBtnActive}
490496
>
491-
{#if searching && applyBtnActive}
497+
{#if searching}
492498
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true" />
493499
{/if}
494500
Apply
495501
</button>
496502
<button
497503
class="btn"
498504
on:click={resetSearchFields}
499-
disabled={resetting || !resetBtnActive}
505+
disabled={resetting || searching || !resetBtnActive}
500506
class:btn-warning={resetBtnActive}
501507
class:btn-secondary={!resetBtnActive}
502508
>
503-
{#if resetting && resetBtnActive}
509+
{#if resetting}
504510
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true" />
505511
{/if}
506512
Reset
@@ -565,7 +571,7 @@
565571
value={false}
566572
bind:group={useDatasetFilters}
567573
on:change={reload}
568-
disabled={reloading}
574+
disabled={reloading || searching || resetting}
569575
/>
570576
<label class="btn btn-white btn-outline-primary" for="all-images">All images</label>
571577
<input
@@ -577,7 +583,7 @@
577583
value={true}
578584
bind:group={useDatasetFilters}
579585
on:change={reload}
580-
disabled={reloading}
586+
disabled={reloading || searching || resetting}
581587
/>
582588
<label class="btn btn-white btn-outline-primary" for="dataset-filters">
583589
Dataset filters

src/routes/v2/projects/[projectId]/workflows/[workflowId]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@
562562
await tick();
563563
saveSelectedDataset(workflow, selectedDatasetId);
564564
await inputFiltersTab?.init();
565-
loadJobsStatus();
565+
await loadJobsStatus();
566566
}
567567
568568
async function loadJobsStatus() {

tests/utils.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export async function waitPageLoading(page) {
2222
*/
2323
export async function waitModalClosed(page) {
2424
await page.waitForFunction(() => document.querySelector('.modal.show') === null);
25+
await expect(page.locator('.modal.show')).toHaveCount(0);
2526
}
2627

2728
/**
@@ -73,4 +74,5 @@ export async function selectSlimSelect(page, selector, optionValue) {
7374
}
7475
expect(selectedItem).not.toBeNull();
7576
await /** @type {import('@playwright/test').Locator} */ (selectedItem).click();
77+
await expect(selector).toHaveText(optionValue);
7678
}

tests/v2/images.spec.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ test('Dataset images [v2]', async ({ page, project }) => {
100100
});
101101

102102
await test.step('Enable dataset filters', async () => {
103-
expect(await page.getByRole('row').count()).toEqual(7);
103+
await expect(page.getByRole('row')).toHaveCount(7);
104104
const datasetFiltersBtn = page.getByText('Dataset filters').first();
105+
await expect(datasetFiltersBtn).toBeEnabled();
105106
await datasetFiltersBtn.click();
106107
await expect(datasetFiltersBtn).toBeEnabled();
107108
await expect(page.getByRole('row')).toHaveCount(3);
@@ -162,16 +163,18 @@ async function createImage(page, zarr_url, filtersFunction) {
162163
* @param {number} expectedCount
163164
*/
164165
async function searchImages(page, expectedCount) {
165-
const initialCount = await page.getByRole('row').count();
166+
await expect(page.getByRole('row')).toHaveCount(7);
166167
const applyBtn = page.getByRole('button', { name: 'Apply' });
167168
await applyBtn.click();
168169
await expect(applyBtn).not.toBeEnabled();
170+
// wait spinner disappearing
171+
await expect(applyBtn.getByRole('status')).toHaveCount(0);
169172
await expect(page.getByRole('row')).toHaveCount(expectedCount + 2);
170-
const resetBtn = page.getByRole('button', { name: 'Reset' });
173+
const resetBtn = page.getByRole('button', { name: 'Reset', exact: true });
171174
await resetBtn.click();
172-
await expect(applyBtn).not.toBeEnabled();
173175
await expect(resetBtn).not.toBeEnabled();
176+
await expect(applyBtn).not.toBeEnabled();
174177
// wait spinner disappearing
175178
await expect(resetBtn.getByRole('status')).toHaveCount(0);
176-
await expect(page.getByRole('row')).toHaveCount(initialCount);
179+
await expect(page.getByRole('row')).toHaveCount(7);
177180
}

tests/v2/run_mock_tasks.spec.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,11 @@ test('Collect and run mock tasks [v2]', async ({ page, workflow, request }) => {
204204
});
205205

206206
await test.step('Select the second dataset', async () => {
207-
await page
208-
.getByRole('combobox', { name: 'Dataset', exact: true })
209-
.first()
210-
.selectOption(datasetName2);
207+
const datasetDropdown = page.getByRole('combobox', { name: 'Dataset', exact: true }).first();
208+
await expect(
209+
datasetDropdown.getByRole('option', { name: datasetName2, includeHidden: true })
210+
).toBeHidden();
211+
await datasetDropdown.selectOption(datasetName2);
211212
});
212213

213214
await test.step('Add and select generic_task', async () => {
@@ -303,6 +304,12 @@ test('Collect and run mock tasks [v2]', async ({ page, workflow, request }) => {
303304
});
304305

305306
await test.step('Cleanup zarr_dir', async () => {
307+
await expect
308+
.poll(() => fs.existsSync(`/tmp/playwright/datasets/${datasetName2}`), {
309+
timeout: 5000,
310+
message: `File /tmp/playwright/datasets/${datasetName2} doesn't exist`
311+
})
312+
.toBeTruthy();
306313
fs.rmSync(`/tmp/playwright/datasets/${datasetName2}`, { recursive: true });
307314
});
308315

0 commit comments

Comments
 (0)