move jsons to fixtures
This commit is contained in:
@@ -1,21 +1,12 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:stream_chat/src/core/models/action.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/action', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"name": "name",
|
||||
"style": "style",
|
||||
"text": "text",
|
||||
"type": "type",
|
||||
"value": "value"
|
||||
}''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final action = Action.fromJson(json.decode(jsonExample));
|
||||
final action = Action.fromJson(jsonFixture('action.json'));
|
||||
expect(action.name, 'name');
|
||||
expect(action.style, 'style');
|
||||
expect(action.text, 'text');
|
||||
|
||||
@@ -1,44 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/action.dart';
|
||||
import 'package:stream_chat/src/core/models/attachment.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/attachment', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"type": "giphy",
|
||||
"title": "awesome",
|
||||
"title_link": "https://giphy.com/gifs/nrkp3-dance-happy-3o7TKnCdBx5cMg0qti",
|
||||
"thumb_url": "https://media0.giphy.com/media/3o7TKnCdBx5cMg0qti/giphy.gif",
|
||||
"actions": [
|
||||
{
|
||||
"name": "image_action",
|
||||
"text": "Send",
|
||||
"style": "primary",
|
||||
"type": "button",
|
||||
"value": "send"
|
||||
},
|
||||
{
|
||||
"name": "image_action",
|
||||
"text": "Shuffle",
|
||||
"style": "default",
|
||||
"type": "button",
|
||||
"value": "shuffle"
|
||||
},
|
||||
{
|
||||
"name": "image_action",
|
||||
"text": "Cancel",
|
||||
"style": "default",
|
||||
"type": "button",
|
||||
"value": "cancel"
|
||||
}
|
||||
]
|
||||
}''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final attachment = Attachment.fromJson(json.decode(jsonExample));
|
||||
final attachment = Attachment.fromJson(jsonFixture('attachment.json'));
|
||||
expect(attachment.type, 'giphy');
|
||||
expect(attachment.title, 'awesome');
|
||||
expect(
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,22 +1,12 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/channel_model.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/channel', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"id": "test",
|
||||
"type": "livestream",
|
||||
"cid": "livestream:test",
|
||||
"cats": true,
|
||||
"fruit": ["bananas", "apples"]
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final channel = ChannelModel.fromJson(json.decode(jsonExample));
|
||||
final channel = ChannelModel.fromJson(jsonFixture('channel.json'));
|
||||
expect(channel.id, equals('test'));
|
||||
expect(channel.type, equals('livestream'));
|
||||
expect(channel.cid, equals('livestream:test'));
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/command.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/command', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"name": "giphy",
|
||||
"description": "Post a random gif to the channel",
|
||||
"args": "[text]"
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final command = Command.fromJson(json.decode(jsonExample));
|
||||
final command = Command.fromJson(jsonFixture('command.json'));
|
||||
expect(command.name, 'giphy');
|
||||
expect(command.description, 'Post a random gif to the channel');
|
||||
expect(command.args, '[text]');
|
||||
|
||||
@@ -1,18 +1,12 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:stream_chat/src/core/models/device.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/device', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"id": "device-id",
|
||||
"push_provider": "push-provider"
|
||||
}''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final device = Device.fromJson(json.decode(jsonExample));
|
||||
final device = Device.fromJson(jsonFixture('device.json'));
|
||||
expect(device.id, 'device-id');
|
||||
expect(device.pushProvider, 'push-provider');
|
||||
});
|
||||
|
||||
@@ -1,46 +1,14 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/event.dart';
|
||||
import 'package:stream_chat/src/core/models/own_user.dart';
|
||||
import 'package:stream_chat/stream_chat.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/event', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"type": "type",
|
||||
"cid": "cid",
|
||||
"connection_id": "connectionId",
|
||||
"created_at": "2019-04-03T18:43:33.213374Z",
|
||||
"me": {
|
||||
"id": "dry-meadow-0",
|
||||
"role": "user",
|
||||
"created_at": "2019-03-27T17:40:17.155892Z",
|
||||
"updated_at": "2020-01-29T03:22:47.641589Z",
|
||||
"last_active": "2020-01-29T03:22:47.63613Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"image": "https://getstream.io/random_svg/?name=Dry+meadow",
|
||||
"name": "Dry meadow"
|
||||
},
|
||||
"parent_id": null,
|
||||
"user": {
|
||||
"id": "dry-meadow-0",
|
||||
"role": "user",
|
||||
"created_at": "2019-03-27T17:40:17.155892Z",
|
||||
"updated_at": "2020-01-29T03:22:47.641589Z",
|
||||
"last_active": "2020-01-29T03:22:47.63613Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"image": "https://getstream.io/random_svg/?name=Dry+meadow",
|
||||
"name": "Dry meadow"
|
||||
}
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final event = Event.fromJson(json.decode(jsonExample));
|
||||
final event = Event.fromJson(jsonFixture('event.json'));
|
||||
expect(event.type, 'type');
|
||||
expect(event.cid, 'cid');
|
||||
expect(event.connectionId, 'connectionId');
|
||||
|
||||
@@ -1,31 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:stream_chat/src/core/models/member.dart';
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/member', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"user": {
|
||||
"id": "bbb19d9a-ee50-45bc-84e5-0584e79d0c9e",
|
||||
"role": "user",
|
||||
"created_at": "2020-01-28T22:17:30.826259Z",
|
||||
"updated_at": "2020-01-28T22:17:31.101222Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"name": "Robin Papa",
|
||||
"image": "https://pbs.twimg.com/profile_images/669512187778498560/L7wQctBt.jpg"
|
||||
},
|
||||
"role": "member",
|
||||
"created_at": "2020-01-28T22:17:30.95443Z",
|
||||
"updated_at": "2020-01-28T22:17:30.95443Z"
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final member = Member.fromJson(json.decode(jsonExample));
|
||||
final member = Member.fromJson(jsonFixture('member.json'));
|
||||
expect(member.user, isA<User>());
|
||||
expect(member.role, 'member');
|
||||
expect(member.createdAt, DateTime.parse('2020-01-28T22:17:30.95443Z'));
|
||||
|
||||
@@ -1,82 +1,15 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/attachment.dart';
|
||||
import 'package:stream_chat/src/core/models/message.dart';
|
||||
import 'package:stream_chat/src/core/models/reaction.dart';
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/message', () {
|
||||
const jsonExample = r'''
|
||||
{
|
||||
"id": "4637f7e4-a06b-42db-ba5a-8d8270dd926f",
|
||||
"text": "https://giphy.com/gifs/the-lion-king-live-action-5zvN79uTGfLMOVfQaA",
|
||||
"type": "regular",
|
||||
"silent": false,
|
||||
"status": "SENT",
|
||||
"user": {
|
||||
"id": "c1c9b454-2bcc-402d-8bb0-2f3706ce1680",
|
||||
"role": "user",
|
||||
"created_at": "2020-01-28T22:17:30.83015Z",
|
||||
"updated_at": "2020-01-28T22:17:31.19435Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"image": "https://randomuser.me/api/portraits/women/2.jpg",
|
||||
"name": "Mia Denys"
|
||||
},
|
||||
"attachments": [
|
||||
{
|
||||
"type": "video",
|
||||
"author_name": "GIPHY",
|
||||
"title": "The Lion King Disney GIF - Find \u0026 Share on GIPHY",
|
||||
"title_link": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"text": "Discover \u0026 share this Lion King Live Action GIF with everyone you know. GIPHY is how you search, share, discover, and create GIFs.",
|
||||
"image_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"thumb_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"asset_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.mp4",
|
||||
"og_scrape_url": "https://giphy.com/gifs/the-lion-king-live-action-5zvN79uTGfLMOVfQaA"
|
||||
}
|
||||
],
|
||||
"latest_reactions": [
|
||||
{
|
||||
"message_id": "4637f7e4-a06b-42db-ba5a-8d8270dd926f",
|
||||
"user_id": "c1c9b454-2bcc-402d-8bb0-2f3706ce1680",
|
||||
"user": {
|
||||
"id": "c1c9b454-2bcc-402d-8bb0-2f3706ce1680",
|
||||
"role": "user",
|
||||
"created_at": "2020-01-28T22:17:30.83015Z",
|
||||
"updated_at": "2020-01-28T22:17:31.19435Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"image": "https://randomuser.me/api/portraits/women/2.jpg",
|
||||
"name": "Mia Denys"
|
||||
},
|
||||
"type": "love",
|
||||
"score": 1,
|
||||
"created_at": "2020-01-28T22:17:31.128376Z",
|
||||
"updated_at": "2020-01-28T22:17:31.128376Z"
|
||||
}
|
||||
],
|
||||
"own_reactions": [],
|
||||
"reaction_counts": {
|
||||
"love": 1
|
||||
},
|
||||
"reaction_scores": {
|
||||
"love": 1
|
||||
},
|
||||
"pinned": false,
|
||||
"pinned_at": null,
|
||||
"pin_expires": null,
|
||||
"pinned_by": null,
|
||||
"reply_count": 0,
|
||||
"created_at": "2020-01-28T22:17:31.107978Z",
|
||||
"updated_at": "2020-01-28T22:17:31.130506Z",
|
||||
"mentioned_users": []
|
||||
}''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final message = Message.fromJson(json.decode(jsonExample));
|
||||
final message = Message.fromJson(jsonFixture('message.json'));
|
||||
expect(message.id, '4637f7e4-a06b-42db-ba5a-8d8270dd926f');
|
||||
expect(message.text,
|
||||
'https://giphy.com/gifs/the-lion-king-live-action-5zvN79uTGfLMOVfQaA');
|
||||
@@ -128,37 +61,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
message.toJson(),
|
||||
json.decode('''
|
||||
{
|
||||
"id": "4637f7e4-a06b-42db-ba5a-8d8270dd926f",
|
||||
"text": "https://giphy.com/gifs/the-lion-king-live-action-5zvN79uTGfLMOVfQaA",
|
||||
"silent": false,
|
||||
"attachments": [
|
||||
{
|
||||
"type": "video",
|
||||
"title_link": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"title": "The Lion King Disney GIF - Find & Share on GIPHY",
|
||||
"thumb_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"text": "Discover & share this Lion King Live Action GIF with everyone you know. GIPHY is how you search, share, discover, and create GIFs.",
|
||||
"og_scrape_url": "https://giphy.com/gifs/the-lion-king-live-action-5zvN79uTGfLMOVfQaA",
|
||||
"image_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.gif",
|
||||
"author_name": "GIPHY",
|
||||
"asset_url": "https://media.giphy.com/media/5zvN79uTGfLMOVfQaA/giphy.mp4",
|
||||
"actions": []
|
||||
}
|
||||
],
|
||||
"mentioned_users": [],
|
||||
"parent_id": "parentId",
|
||||
"quoted_message": null,
|
||||
"quoted_message_id": null,
|
||||
"pinned": false,
|
||||
"pinned_at": null,
|
||||
"pin_expires": null,
|
||||
"pinned_by": null,
|
||||
"show_in_channel": true,
|
||||
"hey": "test"
|
||||
}
|
||||
'''),
|
||||
jsonFixture('message_to_json.json'),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,34 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/reaction.dart';
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/reaction', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"message_id": "76cd8c82-b557-4e48-9d12-87995d3a0e04",
|
||||
"user_id": "2de0297c-f3f2-489d-b930-ef77342edccf",
|
||||
"user": {
|
||||
"id": "2de0297c-f3f2-489d-b930-ef77342edccf",
|
||||
"role": "user",
|
||||
"created_at": "2020-01-28T22:17:30.810011Z",
|
||||
"updated_at": "2020-01-28T22:17:31.077195Z",
|
||||
"banned": false,
|
||||
"online": false,
|
||||
"image": "https://randomuser.me/api/portraits/women/45.jpg",
|
||||
"name": "Daisy Morgan"
|
||||
},
|
||||
"type": "wow",
|
||||
"score": 1,
|
||||
"created_at": "2020-01-28T22:17:31.108742Z",
|
||||
"updated_at": "2020-01-28T22:17:31.108742Z"
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final reaction = Reaction.fromJson(json.decode(jsonExample));
|
||||
final reaction = Reaction.fromJson(jsonFixture('reaction.json'));
|
||||
expect(reaction.messageId, '76cd8c82-b557-4e48-9d12-87995d3a0e04');
|
||||
expect(reaction.createdAt, DateTime.parse('2020-01-28T22:17:31.108742Z'));
|
||||
expect(reaction.type, 'wow');
|
||||
|
||||
@@ -1,23 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:test/test.dart';
|
||||
import 'package:stream_chat/src/core/models/read.dart';
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/read', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"user": {
|
||||
"id": "bbb19d9a-ee50-45bc-84e5-0584e79d0c9e"
|
||||
},
|
||||
"last_read": "2020-01-28T22:17:30.966485504Z",
|
||||
"unread_messages": 10
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final read = Read.fromJson(json.decode(jsonExample));
|
||||
final read = Read.fromJson(jsonFixture('read.json'));
|
||||
expect(read.lastRead, DateTime.parse('2020-01-28T22:17:30.966485504Z'));
|
||||
expect(read.user.id, 'bbb19d9a-ee50-45bc-84e5-0584e79d0c9e');
|
||||
expect(read.unreadMessages, 10);
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
void main() {
|
||||
group('src/models/user', () {
|
||||
const jsonExample = '''
|
||||
{
|
||||
"id": "bbb19d9a-ee50-45bc-84e5-0584e79d0c9e",
|
||||
"role": "test-role"
|
||||
}
|
||||
''';
|
||||
|
||||
test('should parse json correctly', () {
|
||||
final user = User.fromJson(json.decode(jsonExample));
|
||||
final user = User.fromJson(jsonFixture('user.json'));
|
||||
expect(user.id, 'bbb19d9a-ee50-45bc-84e5-0584e79d0c9e');
|
||||
});
|
||||
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
String fixture(String name) {
|
||||
final dir = currentDirectory.path;
|
||||
return File('$dir/test/fixtures/$name').readAsStringSync();
|
||||
}
|
||||
|
||||
File assetFile(String name) {
|
||||
final dir = currentDirectory.path;
|
||||
return File('$dir/test/assets/$name');
|
||||
}
|
||||
|
||||
Map<String, dynamic> jsonFixture(String name) => json.decode(fixture(name));
|
||||
|
||||
// https://github.com/flutter/flutter/issues/20907
|
||||
Directory get currentDirectory {
|
||||
var directory = Directory.current;
|
||||
|
||||
Reference in New Issue
Block a user