|
| 1 | +import 'dart:convert'; |
| 2 | + |
1 | 3 | import 'package:flutter_test/flutter_test.dart'; |
2 | 4 |
|
3 | 5 | import 'package:talkjs/talkjs.dart'; |
@@ -205,5 +207,45 @@ void main() { |
205 | 207 | ) |
206 | 208 | , true); |
207 | 209 | }); |
| 210 | + |
| 211 | + test('test ConversationPredicate string', () { |
| 212 | + expect( |
| 213 | + json.encode(ConversationPredicate( |
| 214 | + access: FieldPredicate.notEquals(ConversationAccessLevel.none), |
| 215 | + custom: { |
| 216 | + 'seller': CustomFieldPredicate.exists(), |
| 217 | + 'category': CustomFieldPredicate.oneOf(['shoes', 'sandals']), |
| 218 | + 'visibility': CustomFieldPredicate.equals('visible'), |
| 219 | + }, |
| 220 | + hasUnreadMessages: false, |
| 221 | + )), |
| 222 | + '{"access":["!=","None"],"custom":{"seller":"exists","category":["oneOf",["shoes","sandals"]],"visibility":["==","visible"]},"hasUnreadMessages":false}' |
| 223 | + ); |
| 224 | + }); |
| 225 | + |
| 226 | + test('test MessagePredicate string', () { |
| 227 | + expect( |
| 228 | + json.encode(MessagePredicate( |
| 229 | + custom: { |
| 230 | + 'seller': CustomFieldPredicate.exists(), |
| 231 | + 'category': CustomFieldPredicate.oneOf(['shoes', 'sandals']), |
| 232 | + 'visibility': CustomFieldPredicate.equals('visible'), |
| 233 | + }, |
| 234 | + origin: FieldPredicate.equals(MessageOrigin.web), |
| 235 | + sender: SenderPredicate( |
| 236 | + id: FieldPredicate.notEquals('INVALID_ID'), |
| 237 | + custom: { |
| 238 | + 'seller': CustomFieldPredicate.exists(), |
| 239 | + 'category': CustomFieldPredicate.oneOf(['shoes', 'sandals']), |
| 240 | + 'visibility': CustomFieldPredicate.equals('visible'), |
| 241 | + }, |
| 242 | + locale: FieldPredicate.notOneOf(['it', 'fr']), |
| 243 | + role: FieldPredicate.notEquals('admin'), |
| 244 | + ), |
| 245 | + type: FieldPredicate.notEquals(MessageType.systemMessage), |
| 246 | + )), |
| 247 | + '{"custom":{"seller":"exists","category":["oneOf",["shoes","sandals"]],"visibility":["==","visible"]},"origin":["==","web"],"sender":{"id":["!=","INVALID_ID"],"custom":{"seller":"exists","category":["oneOf",["shoes","sandals"]],"visibility":["==","visible"]},"locale":["!oneOf",["it","fr"]],"role":["!=","admin"]},"type":["!=","SystemMessage"]}' |
| 248 | + ); |
| 249 | + }); |
208 | 250 | } |
209 | 251 |
|
0 commit comments