Skip to content

chore: capacitor integration tests#976

Open
stevensJourney wants to merge 24 commits into
mainfrom
capacitor-tests
Open

chore: capacitor integration tests#976
stevensJourney wants to merge 24 commits into
mainfrom
capacitor-tests

Conversation

@stevensJourney
Copy link
Copy Markdown
Collaborator

@stevensJourney stevensJourney commented May 25, 2026

The work here is inspired and based off the Tauri integration tests added by @simolus3 . Reference

This PR adds integration tests for the Capacitor SDK.

For context, most Capacitor plugins include an example-app folder which is a basic Capacitor App used to verify the plugin compiles correctly for Android and iOS.

This PR uses the example-app as a code runner which loads the Vitest Browser-mode server's URL as the source of the Capacitor web content.

We use a small trick where the example-app's Capacitor config is a TypeScript (could also be JavaScript) file which sets the app's web content source to the value of an environment variable. This means that the app can be started with a dynamic web contents source.

The Vitest browser mode integration then builds the Capacitor app and starts it by providing the appropriate URL for the Vitest test suite.

This PR ports the React Native tests from tools/powersynctests for Capacitor. The test suite essentially only handles basic query operations and Capacitor specific logic - like ensuring concurrency. AI usage disclaimer - the tests were ported using Codex GPT 5.5.

Bug fix

These unit tests actually exposed a bug in the current code! The executeBatch method was broken on iOS. This adds a fix.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 25, 2026

🦋 Changeset detected

Latest commit: 0d6b358

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@powersync/capacitor Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Base automatically changed from capacitor to main May 25, 2026 09:07
@stevensJourney stevensJourney marked this pull request as ready for review May 25, 2026 13:18
@stevensJourney stevensJourney requested a review from simolus3 May 25, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant