mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
142 lines
3.7 KiB
Dart
142 lines
3.7 KiB
Dart
import 'package:spotube/models/database/database.dart';
|
|
import 'package:spotube/models/metadata/metadata.dart';
|
|
import 'package:spotube/provider/history/summary.dart';
|
|
|
|
abstract class FakeData {
|
|
static final SpotubeImageObject image = SpotubeImageObject(
|
|
height: 100,
|
|
width: 100,
|
|
url: "https://dummyimage.com/100x100/cfcfcf/cfcfcf.jpg",
|
|
);
|
|
|
|
static final SpotubeFullArtistObject artist = SpotubeFullArtistObject(
|
|
id: "1",
|
|
name: "What an artist",
|
|
externalUri: "https://example.com",
|
|
followers: 10000,
|
|
genres: ["genre"],
|
|
images: [
|
|
SpotubeImageObject(
|
|
height: 100,
|
|
width: 100,
|
|
url: "https://dummyimage.com/100x100/cfcfcf/cfcfcf.jpg",
|
|
),
|
|
],
|
|
);
|
|
|
|
static final SpotubeFullAlbumObject album = SpotubeFullAlbumObject(
|
|
id: "1",
|
|
name: "A good album",
|
|
externalUri: "https://example.com",
|
|
artists: [artistSimple],
|
|
releaseDate: "2021-01-01",
|
|
albumType: SpotubeAlbumType.album,
|
|
images: [image],
|
|
totalTracks: 10,
|
|
genres: ["genre"],
|
|
recordLabel: "Record Label",
|
|
);
|
|
|
|
static final SpotubeSimpleArtistObject artistSimple =
|
|
SpotubeSimpleArtistObject(
|
|
id: "1",
|
|
name: "What an artist",
|
|
externalUri: "https://example.com",
|
|
images: null,
|
|
);
|
|
|
|
static final SpotubeSimpleAlbumObject albumSimple = SpotubeSimpleAlbumObject(
|
|
albumType: SpotubeAlbumType.album,
|
|
artists: [],
|
|
externalUri: "https://example.com",
|
|
id: "1",
|
|
name: "A good album",
|
|
releaseDate: "2021-01-01",
|
|
images: [
|
|
SpotubeImageObject(
|
|
height: 1,
|
|
width: 1,
|
|
url: "https://dummyimage.com/100x100/cfcfcf/cfcfcf.jpg",
|
|
)
|
|
],
|
|
);
|
|
|
|
static final SpotubeFullTrackObject track = SpotubeTrackObject.full(
|
|
id: "1",
|
|
name: "A good track",
|
|
externalUri: "https://example.com",
|
|
album: albumSimple,
|
|
durationMs: 3 * 60 * 1000, // 3 minutes
|
|
isrc: "USUM72112345",
|
|
explicit: false,
|
|
) as SpotubeFullTrackObject;
|
|
|
|
static final SpotubeUserObject user = SpotubeUserObject(
|
|
id: "1",
|
|
name: "User Name",
|
|
externalUri: "https://example.com",
|
|
images: [image],
|
|
);
|
|
|
|
static final SpotubeFullPlaylistObject playlist = SpotubeFullPlaylistObject(
|
|
id: "1",
|
|
name: "A good playlist",
|
|
description: "A very good playlist description",
|
|
externalUri: "https://example.com",
|
|
collaborative: false,
|
|
public: true,
|
|
owner: user,
|
|
images: [image],
|
|
collaborators: [user]);
|
|
|
|
static final SpotubeSimplePlaylistObject playlistSimple =
|
|
SpotubeSimplePlaylistObject(
|
|
id: "1",
|
|
name: "A good playlist",
|
|
description: "A very good playlist description",
|
|
externalUri: "https://example.com",
|
|
owner: user,
|
|
images: [image],
|
|
);
|
|
|
|
static final SpotubeBrowseSectionObject browseSection =
|
|
SpotubeBrowseSectionObject(
|
|
id: "section-id",
|
|
title: "Browse Section",
|
|
browseMore: true,
|
|
externalUri: "https://example.com/browse/section",
|
|
items: [playlistSimple, playlistSimple, playlistSimple]);
|
|
|
|
static const historySummary = PlaybackHistorySummary(
|
|
albums: 1,
|
|
artists: 1,
|
|
duration: Duration(seconds: 1),
|
|
playlists: 1,
|
|
tracks: 1,
|
|
fees: 1,
|
|
);
|
|
|
|
static final historyRecentlyPlayedPlaylist = HistoryTableData(
|
|
id: 0,
|
|
type: HistoryEntryType.track,
|
|
createdAt: DateTime.now(),
|
|
itemId: "1",
|
|
data: playlist.toJson(),
|
|
);
|
|
|
|
static final historyRecentlyPlayedAlbum = HistoryTableData(
|
|
id: 0,
|
|
type: HistoryEntryType.track,
|
|
createdAt: DateTime.now(),
|
|
itemId: "1",
|
|
data: album.toJson(),
|
|
);
|
|
|
|
static final historyRecentlyPlayedItems = List.generate(
|
|
10,
|
|
(index) => index % 2 == 0
|
|
? historyRecentlyPlayedPlaylist
|
|
: historyRecentlyPlayedAlbum,
|
|
);
|
|
}
|