From e81f4b2a81656ec6f0924d4a83febd0a6227088a Mon Sep 17 00:00:00 2001 From: Gallay Lajos Date: Sun, 2 Jun 2024 09:43:29 +0200 Subject: [PATCH] test and list update fixes --- e2e/file-browser.spec.ts | 12 ++++++++---- frontend/src/pages/file-browser/folder-panel.tsx | 4 ++++ frontend/src/services/drives-service.ts | 1 - 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/e2e/file-browser.spec.ts b/e2e/file-browser.spec.ts index 5ce6d7c..335bd0d 100644 --- a/e2e/file-browser.spec.ts +++ b/e2e/file-browser.spec.ts @@ -1,7 +1,7 @@ import { test, expect } from '@playwright/test' import { assertAndDismissNoty, login, uploadFile } from './helpers' import { join } from 'path' -import { readFileSync } from 'fs' +import { readFile } from 'fs/promises' test.describe('File Browser', () => { test('Should be able to create a drive in the temp directory', async ({ page, browserName }) => { @@ -32,13 +32,17 @@ test.describe('File Browser', () => { await page.getByText('- No Data -') }) - test.only('Should able to upload a file', async ({ page }) => { + test('Should able to upload a file', async ({ page }) => { await page.goto('/') await login(page) await page.locator('icon-url-widget', { hasText: 'File Browser' }).click() await uploadFile(page, './e2e/test-files/upload.md', 'text/markdown') - await assertAndDismissNoty(page, 'File uploaded successfully') + await page.getByText('upload.md').nth(1).dblclick() - await page.getByText('upload.md').doubleClick() + const fileContent = await readFile('./e2e/test-files/upload.md', { encoding: 'utf-8' }) + const editor = await page.locator('monaco-editor').getByRole('textbox') + await expect(fileContent.replace(/[^a-zA-Z ]/g, '')).toContain( + (await editor.inputValue()).replace(/[^a-zA-Z ]/g, ''), + ) }) }) diff --git a/frontend/src/pages/file-browser/folder-panel.tsx b/frontend/src/pages/file-browser/folder-panel.tsx index d787801..d3882ec 100644 --- a/frontend/src/pages/file-browser/folder-panel.tsx +++ b/frontend/src/pages/file-browser/folder-panel.tsx @@ -67,6 +67,10 @@ export const FolderPanel = Shade<{ }) onFileListChange(fileList) + useDisposable('onFilesystemChanged', () => + drivesService.subscribe('onFilesystemChanged', () => drivesService.getFileList(letter, path)), + ) + service.hasFocus.setValue(!!props.focused) element.style.height = '100%' diff --git a/frontend/src/services/drives-service.ts b/frontend/src/services/drives-service.ts index 6f34d76..ee402af 100644 --- a/frontend/src/services/drives-service.ts +++ b/frontend/src/services/drives-service.ts @@ -129,7 +129,6 @@ export class DrivesService extends EventHub<{ onFilesystemChanged: DrivesFilesys action: '/files/:letter/:path', url: { letter, path }, }) - this.fileListCache.flushAll() return removeResult }