1- import { afterEach , describe , expect , it } from 'bun:test'
2- import { getPowerSyncDatabaseConfig , getPowerSyncOptions } from './database'
1+ import { describe , expect , it , mock } from 'bun:test'
32import { WASQLiteOpenFactory } from '@powersync/web'
43
5- const setE2EE = ( enabled : boolean ) => localStorage . setItem ( 'e2ee_enabled' , String ( enabled ) )
4+ // Control E2EE flag directly — avoids contamination from other test files
5+ // that mock the @/db/encryption barrel with isEncryptionEnabled: () => true
6+ let mockE2EEEnabled = false
7+
8+ mock . module ( '@/db/encryption/config' , ( ) => ( {
9+ isEncryptionEnabled : ( ) => mockE2EEEnabled ,
10+ setEncryptionEnabled : ( ) => { } ,
11+ needsSyncSetupWizard : async ( ) => false ,
12+ encryptedColumnsMap : { } ,
13+ } ) )
14+
15+ import { getPowerSyncDatabaseConfig , getPowerSyncOptions } from './database'
616
717describe ( 'getPowerSyncDatabaseConfig' , ( ) => {
818 it ( 'returns default for web + Chrome' , ( ) => {
@@ -39,8 +49,6 @@ describe('getPowerSyncDatabaseConfig', () => {
3949} )
4050
4151describe ( 'getPowerSyncOptions' , ( ) => {
42- afterEach ( ( ) => localStorage . removeItem ( 'e2ee_enabled' ) )
43-
4452 describe ( 'default config (web + non-Safari)' , ( ) => {
4553 it ( 'returns database with dbFilename and schema' , ( ) => {
4654 const options = getPowerSyncOptions ( 'opfs/thunderbolt-sync.db' , 'default' )
@@ -64,15 +72,16 @@ describe('getPowerSyncOptions', () => {
6472 } )
6573
6674 it ( 'includes custom SharedWorker and transformers when E2EE is enabled' , ( ) => {
67- setE2EE ( true )
75+ mockE2EEEnabled = true
6876 const options = getPowerSyncOptions ( 'thunderbolt.db' , 'default' )
6977 expect ( options ) . toHaveProperty ( 'sync' )
7078 expect ( options . sync ) . toHaveProperty ( 'worker' )
7179 expect ( options ) . toHaveProperty ( 'transformers' )
80+ mockE2EEEnabled = false
7281 } )
7382
7483 it ( 'omits custom SharedWorker and transformers when E2EE is disabled' , ( ) => {
75- setE2EE ( false )
84+ mockE2EEEnabled = false
7685 const options = getPowerSyncOptions ( 'thunderbolt.db' , 'default' )
7786 expect ( options ) . not . toHaveProperty ( 'sync' )
7887 expect ( options ) . not . toHaveProperty ( 'transformers' )
@@ -97,13 +106,14 @@ describe('getPowerSyncOptions', () => {
97106 } )
98107
99108 it ( 'includes transformers when E2EE is enabled' , ( ) => {
100- setE2EE ( true )
109+ mockE2EEEnabled = true
101110 const options = getPowerSyncOptions ( 'thunderbolt.db' , 'safari-tauri' )
102111 expect ( options ) . toHaveProperty ( 'transformers' )
112+ mockE2EEEnabled = false
103113 } )
104114
105115 it ( 'omits transformers when E2EE is disabled' , ( ) => {
106- setE2EE ( false )
116+ mockE2EEEnabled = false
107117 const options = getPowerSyncOptions ( 'thunderbolt.db' , 'safari-tauri' )
108118 expect ( options ) . not . toHaveProperty ( 'transformers' )
109119 } )
0 commit comments