@@ -77,6 +77,14 @@ const sdk = makeClientSDK();
7777 } ) ;
7878
7979 test ( 'subscribe to SSE stream and receive events' , async ( ) => {
80+ // Ensure at least one event exists so the stream has something to replay
81+ await axon . publish ( {
82+ event_type : 'sse_test' ,
83+ origin : 'USER_EVENT' ,
84+ payload : JSON . stringify ( { sse : true } ) ,
85+ source : 'sdk-smoke-test' ,
86+ } ) ;
87+
8088 const stream = await axon . subscribeSse ( ) ;
8189 const events = [ ] ;
8290 for await ( const event of stream ) {
@@ -91,6 +99,44 @@ const sdk = makeClientSDK();
9199 expect ( first . payload ) . toBeDefined ( ) ;
92100 expect ( first . sequence ) . toBeGreaterThanOrEqual ( 0 ) ;
93101 } ) ;
102+
103+ test ( 'sql.query: create table and insert row' , async ( ) => {
104+ await axon . sql . query ( {
105+ sql : 'CREATE TABLE IF NOT EXISTS smoke_test (id INTEGER PRIMARY KEY, value TEXT)' ,
106+ } ) ;
107+
108+ await axon . sql . query ( {
109+ sql : 'INSERT INTO smoke_test (id, value) VALUES (?, ?)' ,
110+ params : [ 1 , 'hello' ] ,
111+ } ) ;
112+
113+ const result = await axon . sql . query ( {
114+ sql : 'SELECT * FROM smoke_test WHERE id = ?' ,
115+ params : [ 1 ] ,
116+ } ) ;
117+
118+ expect ( result . columns ) . toBeDefined ( ) ;
119+ expect ( result . columns . length ) . toBeGreaterThan ( 0 ) ;
120+ expect ( result . rows . length ) . toBe ( 1 ) ;
121+ expect ( result . meta . duration_ms ) . toBeGreaterThanOrEqual ( 0 ) ;
122+ } ) ;
123+
124+ test ( 'sql.batch: execute multiple statements atomically' , async ( ) => {
125+ const result = await axon . sql . batch ( {
126+ statements : [
127+ { sql : 'CREATE TABLE IF NOT EXISTS batch_test (id INTEGER PRIMARY KEY, name TEXT)' } ,
128+ { sql : 'INSERT INTO batch_test (id, name) VALUES (?, ?)' , params : [ 1 , 'alice' ] } ,
129+ { sql : 'INSERT INTO batch_test (id, name) VALUES (?, ?)' , params : [ 2 , 'bob' ] } ,
130+ { sql : 'SELECT * FROM batch_test ORDER BY id' } ,
131+ ] ,
132+ } ) ;
133+
134+ expect ( result . results ) . toBeDefined ( ) ;
135+ expect ( result . results . length ) . toBe ( 4 ) ;
136+ const selectResult = result . results [ 3 ] ! ;
137+ expect ( selectResult . success ) . toBeDefined ( ) ;
138+ expect ( selectResult . success ! . rows . length ) . toBe ( 2 ) ;
139+ } ) ;
94140 } ) ;
95141
96142 describe ( 'axon list' , ( ) => {
0 commit comments