@@ -3,12 +3,13 @@ import 'dart:typed_data';
33
44import 'package:flutter_test/flutter_test.dart' ;
55import 'package:integration_test/integration_test.dart' ;
6+ import 'package:surrealdb_js/surrealdb_js.dart' ;
67import 'package:surrealdb_wasm/surrealdb_wasm.dart' ;
78
89void main ({bool wasm = false }) {
910 IntegrationTestWidgetsFlutterBinding .ensureInitialized ();
1011
11- final db = SurrealWasmMutex .getInstance ();
12+ final db = SurrealWasm .getInstance ();
1213 //Tests run with local SurrealDB instance started with the command below:
1314 //surreal start memory --log trace --allow-all --auth --user root --pass root
1415 setUpAll (() async {
@@ -42,40 +43,46 @@ void main({bool wasm = false}) {
4243 testWidgets ('Create a record with datetime field and change it' ,
4344 (WidgetTester tester) async {
4445 const sql = '''
46+ REMOVE TABLE IF EXISTS document;
4547DEFINE TABLE document SCHEMALESS;
4648DEFINE FIELD content ON document TYPE option<string>;
4749DEFINE FIELD created ON document TYPE datetime;
4850''' ;
4951 await db.query (sql);
50- const created = '2023-10-31T03:19:16.601Z' ;
52+ final created = DateTime .parse ('2023-10-31T03:19:16.601Z' );
53+ const converter = JSDateJsonConverter ();
5154 final data = {
5255 'content' : 'doc 1' ,
53- 'created' : created,
56+ 'created' : converter. toJson ( created) ,
5457 };
55- final result =
56- await db.query ('CREATE ONLY document CONTENT ${jsonEncode (data )}' );
58+ final result = await db.query (
59+ r'CREATE ONLY document CONTENT $data' ,
60+ bindings: {'data' : data},
61+ );
5762 final doc = Map <String , dynamic >.from (
5863 result! as Map ,
5964 );
6065 expect (doc['id' ], isNotNull);
61- expect (doc['created' ], equals (DateTime . parse ( created) ));
66+ expect (doc['created' ], equals (created));
6267
63- const mergedDate = '2023-11-01T03:19:16.601Z' ;
68+ final mergedDate = DateTime . parse ( '2023-11-01T03:19:16.601Z' ) ;
6469 final mergeData = {
65- 'created' : mergedDate,
70+ 'created' : converter. toJson ( mergedDate) ,
6671 };
6772 final merged = await db.query (
68- 'UPDATE ONLY ${doc ['id' ]} MERGE ${jsonEncode (mergeData )}' ,
73+ 'UPDATE ONLY ${doc ['id' ]} MERGE \$ data' ,
74+ bindings: {'data' : mergeData},
6975 );
7076 final mergedDoc = Map <String , dynamic >.from (
7177 merged! as Map ,
7278 );
73- expect (mergedDoc['created' ], equals (DateTime . parse ( mergedDate) ));
79+ expect (mergedDoc['created' ], equals (mergedDate));
7480 });
7581
7682 testWidgets ('Create a record with bindings param' ,
7783 (WidgetTester tester) async {
7884 const sql = '''
85+ REMOVE TABLE IF EXISTS bindings;
7986DEFINE TABLE bindings SCHEMALESS;
8087DEFINE FIELD file ON bindings TYPE string;
8188''' ;
@@ -105,6 +112,7 @@ DEFINE FIELD file ON bindings TYPE string;
105112 testWidgets ('Create a record with bytes type field and change it' ,
106113 (WidgetTester tester) async {
107114 const sql = '''
115+ REMOVE TABLE IF EXISTS documents;
108116DEFINE TABLE documents SCHEMALESS;
109117DEFINE FIELD file ON documents TYPE bytes;
110118''' ;
0 commit comments