Add channel & user parse test

This commit is contained in:
Tommy Chow 2021-09-25 01:17:40 -04:00
parent 54787789c9
commit 2c72d41e78
2 changed files with 84 additions and 0 deletions

48
test/channel_test.dart Normal file
View file

@ -0,0 +1,48 @@
import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
import 'package:frosty/models/channel.dart';
void main() {
test('Twitch channel should parse', () {
const sampleChannel = '''
{
"id":"43809710301",
"user_id":"71092938",
"user_login":"xqcow",
"user_name":"xQcOW",
"game_id":"508292",
"game_name":"Bloons TD 6",
"type":"live",
"title":"A shorter title...",
"viewer_count":50051,
"started_at":"2021-09-23T20:06:22Z",
"language":"en",
"thumbnail_url":"https://static-cdn.jtvnw.net/previews-ttv/live_user_xqcow-{width}x{height}.jpg",
"tag_ids":[
"e6bb8b34-4c28-4b5f-94ed-12c1ebf2d0e4",
"6ea6bca4-4712-4ab9-a906-e3336a9d8039",
"6606e54c-f92d-40f6-8257-74977889ccdd"
],
"is_mature":false
}
''';
final decoded = jsonDecode(sampleChannel);
final channel = Channel.fromJson(decoded);
expect(channel.id, '43809710301');
expect(channel.userId, '71092938');
expect(channel.userLogin, 'xqcow');
expect(channel.userName, 'xQcOW');
expect(channel.gameId, '508292');
expect(channel.gameName, 'Bloons TD 6');
expect(channel.type, 'live');
expect(channel.title, 'A shorter title...');
expect(channel.viewerCount, 50051);
expect(channel.startedAt, '2021-09-23T20:06:22Z');
expect(channel.language, 'en');
expect(channel.thumbnailUrl, 'https://static-cdn.jtvnw.net/previews-ttv/live_user_xqcow-{width}x{height}.jpg');
expect(channel.tagIds, ["e6bb8b34-4c28-4b5f-94ed-12c1ebf2d0e4", "6ea6bca4-4712-4ab9-a906-e3336a9d8039", "6606e54c-f92d-40f6-8257-74977889ccdd"]);
expect(channel.isMature, false);
});
}

36
test/user_test.dart Normal file
View file

@ -0,0 +1,36 @@
import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
import 'package:frosty/models/user.dart';
void main() {
test('Twitch user should parse', () {
const sampleUser = '''
{
"id":"88888888",
"login":"bob",
"display_name":"Bob",
"type":"random type",
"broadcaster_type":"streamer",
"description":"random description",
"profile_image_url":"https://static-cdn.jtvnw.net/user-default-pictures-uv/ead5c8b2-a4c9-4724-b1dd-9f00b46cbd3d-profile_image-300x300.png",
"offline_image_url":"",
"view_count":94,
"created_at":"2013-09-25T00:32:05Z"
}
''';
final decoded = jsonDecode(sampleUser);
final user = UserTwitch.fromJson(decoded);
expect(user.id, '88888888');
expect(user.login, 'bob');
expect(user.displayName, 'Bob');
expect(user.type, 'random type');
expect(user.broadcasterType, 'streamer');
expect(user.description, 'random description');
expect(user.profileImageUrl, 'https://static-cdn.jtvnw.net/user-default-pictures-uv/ead5c8b2-a4c9-4724-b1dd-9f00b46cbd3d-profile_image-300x300.png');
expect(user.offlineImageUrl, '');
expect(user.viewCount, 94);
expect(user.createdAt, '2013-09-25T00:32:05Z');
});
}