seedDefaults method
void
seedDefaults()
Seeds the store with 3 standard test documents of type test_all_fields
and 4 media assets.
This reproduces the legacy auto-seed behaviour. Useful in setUp blocks that need a pre-populated store:
setUp(() { dataSource = MockDataSource()..seedDefaults(); });
Implementation
void seedDefaults() {
for (final seed in _kDefaultDocumentSeedData) {
final docId = _genDocId();
final versionId = _genVersionId();
final now = DateTime.now();
_documents[docId] = DeskDocument(
id: docId,
clientId: 'mock-client-1',
documentType: 'test_all_fields',
title: seed['title'] as String,
slug: seed['slug'] as String,
isDefault: _nextDocId == 2, // first doc
activeVersionData: seed['data'] as Map<String, dynamic>,
createdAt: now,
updatedAt: now,
);
_versions[docId] = {
versionId: DocumentVersion(
id: versionId,
documentId: docId,
versionNumber: 1,
status: _nextDocId == 2
? DocumentVersionStatus.published
: DocumentVersionStatus.draft,
changeLog: 'Initial version',
createdAt: now,
publishedAt: _nextDocId == 2 ? now : null,
),
};
_versionData[versionId] = Map<String, dynamic>.from(
seed['data'] as Map<String, dynamic>,
);
}
// Add a second version to first document (draft on top of published)
final firstDocId = _documents.keys.first;
final secondVersionId = _genVersionId();
_versions[firstDocId]![secondVersionId] = DocumentVersion(
id: secondVersionId,
documentId: firstDocId,
versionNumber: 2,
status: DocumentVersionStatus.draft,
changeLog: 'Updated string field',
createdAt: DateTime.now(),
);
_versionData[secondVersionId] = {
..._kDefaultDocumentSeedData[0]['data'] as Map<String, dynamic>,
'string_field': 'Hello World (v2)',
};
// Seed media assets for testing
_media['asset-hero'] = MediaAsset(
id: _genMediaId(),
assetId: 'asset-hero',
fileName: 'hero-banner.jpg',
mimeType: 'image/jpeg',
fileSize: 245000,
publicUrl: 'https://picsum.photos/seed/hero/800/400',
width: 800,
height: 400,
hasAlpha: false,
blurHash: 'LEHV6nWB2yk8pyo0adR*.7kCMdnj',
createdAt: DateTime(2026, 3, 1),
metadataStatus: MediaAssetMetadataStatus.complete,
);
_media['asset-profile'] = MediaAsset(
id: _genMediaId(),
assetId: 'asset-profile',
fileName: 'profile-photo.png',
mimeType: 'image/png',
fileSize: 128000,
publicUrl: 'https://picsum.photos/seed/profile/400/400',
width: 400,
height: 400,
hasAlpha: true,
blurHash: 'LGF5]+Yk^6#M@-5c,1J5@[or[Q6.',
createdAt: DateTime(2026, 3, 5),
metadataStatus: MediaAssetMetadataStatus.complete,
);
_media['asset-landscape'] = MediaAsset(
id: _genMediaId(),
assetId: 'asset-landscape',
fileName: 'mountain-landscape.jpg',
mimeType: 'image/jpeg',
fileSize: 512000,
publicUrl: 'https://picsum.photos/seed/landscape/1200/800',
width: 1200,
height: 800,
hasAlpha: false,
blurHash: 'LdKBt%j[WBay~qj[j[j[WBayfQfQ',
createdAt: DateTime(2026, 3, 10),
metadataStatus: MediaAssetMetadataStatus.complete,
);
_media['asset-icon'] = MediaAsset(
id: _genMediaId(),
assetId: 'asset-icon',
fileName: 'app-icon.png',
mimeType: 'image/png',
fileSize: 24000,
publicUrl: 'https://picsum.photos/seed/icon/128/128',
width: 128,
height: 128,
hasAlpha: true,
blurHash: 'L6PZfSi_.AyE_3t7t7R**0o#DgR4',
createdAt: DateTime(2026, 3, 15),
metadataStatus: MediaAssetMetadataStatus.complete,
);
}