frosty/test/stream_test.dart
2022-03-23 20:13:45 -04:00

48 lines
1.7 KiB
Dart

import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
import 'package:frosty/models/stream.dart';
void main() {
test('Twitch stream should parse correctly', () {
const sampleStream = '''
{
"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(sampleStream);
final stream = StreamTwitch.fromJson(decoded);
expect(stream.id, '43809710301');
expect(stream.userId, '71092938');
expect(stream.userLogin, 'xqcow');
expect(stream.userName, 'xQcOW');
expect(stream.gameId, '508292');
expect(stream.gameName, 'Bloons TD 6');
expect(stream.type, 'live');
expect(stream.title, 'A shorter title...');
expect(stream.viewerCount, 50051);
expect(stream.startedAt, '2021-09-23T20:06:22Z');
expect(stream.language, 'en');
expect(stream.thumbnailUrl, 'https://static-cdn.jtvnw.net/previews-ttv/live_user_xqcow-{width}x{height}.jpg');
expect(stream.tagIds, ['e6bb8b34-4c28-4b5f-94ed-12c1ebf2d0e4', '6ea6bca4-4712-4ab9-a906-e3336a9d8039', '6606e54c-f92d-40f6-8257-74977889ccdd']);
expect(stream.isMature, false);
});
}