Add-on Directory

Filesystem API for Vaadin - Browserless Test Support - Vaadin Add-on Directory

Browserless test support for the Filesystem API Vaadin add-on Filesystem API for Vaadin - Browserless Test Support - Vaadin Add-on Directory
Test support module for the [Filesystem API for Vaadin add-on](https://vaadin.com/directory/component/filesystem-api-for-vaadin---add-on). Provides an in-memory fake of the browser's File System API so you can write fast, deterministic unit tests for views that use `ClientFileSystem` — without launching a browser. Picker dialogs, file reads, and writes all resolve instantly in the JVM. Pair with browserless-test-junit6 for full server-side Vaadin component testing. ### Features - **In-memory file system** — populate files and directories, then assert on their contents after your component logic runs - **Configurable picker responses** — simulate open, save, and directory pickers returning specific files, or user cancellation - **Permission control** — set the permission state (`granted`, `denied`, `prompt`) for handle operations - **Synchronous execution** — all futures complete immediately, keeping tests deterministic ### Quick Start ```xml com.github.mcollovati filesystem-api-browserless ${filesystem-api.version} test com.vaadin browserless-test-junit6 test ``` ```java @ViewPackages(classes = EditorView.class) class EditorTests extends BrowserlessTest { @Test void open_loads_file_content() { EditorView view = navigate(EditorView.class); FileSystemTester tester = FileSystemTester.forComponent(view) .withFile("notes.txt", "Hello!") .onOpenFilePicker(PickerResponse.returning("notes.txt")) .install(); test(view.openBtn).click(); assertEquals("Hello!", view.editor.getValue()); } @Test void save_writes_content_to_file() { EditorView view = navigate(EditorView.class); FileSystemTester tester = FileSystemTester.forComponent(view) .onSaveFilePicker(PickerResponse.returningSingle("output.txt")) .install(); view.editor.setValue("Saved!"); test(view.saveBtn).click(); assertEquals("Saved!", tester.fileSystem().file("output.txt").contentAsString()); } } ```
View on GitHub

Filesystem API for Vaadin - Browserless Test Support version 1.0.1