refactor: better way to determine shelf by id so localisation does not affect it

- more settings
- icons
This commit is contained in:
Dr.Blank 2025-05-22 08:10:56 +05:30
parent 2e3f4ad8d4
commit 5377398e1d
No known key found for this signature in database
GPG key ID: BA5F87FF0560C57B
10 changed files with 364 additions and 280 deletions

View file

@ -1,51 +0,0 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:vaani/settings/models/app_settings.dart';
void main() {
group('AppSettings', () {
test('initializes with default HomePageSettings', () {
const appSettings = AppSettings();
expect(appSettings.homePageSettings.showPlayButtonOnContinueShelves, isTrue);
expect(appSettings.homePageSettings.showPlayButtonOnAllShelves, isFalse);
});
test('HomePageSettings can be updated', () {
const initialSettings = AppSettings();
final updatedSettings = initialSettings.copyWith(
homePageSettings: initialSettings.homePageSettings.copyWith(
showPlayButtonOnContinueShelves: false,
showPlayButtonOnAllShelves: true,
),
);
expect(updatedSettings.homePageSettings.showPlayButtonOnContinueShelves, isFalse);
expect(updatedSettings.homePageSettings.showPlayButtonOnAllShelves, isTrue);
});
test('HomePageSettings are correctly serialized and deserialized', () {
const originalSettings = AppSettings(
homePageSettings: HomePageSettings(
showPlayButtonOnContinueShelves: false,
showPlayButtonOnAllShelves: true,
),
);
final json = originalSettings.toJson();
final deserializedSettings = AppSettings.fromJson(json);
expect(deserializedSettings.homePageSettings.showPlayButtonOnContinueShelves, isFalse);
expect(deserializedSettings.homePageSettings.showPlayButtonOnAllShelves, isTrue);
expect(deserializedSettings, originalSettings);
});
test('Default AppSettings serialization and deserialization', () {
const originalSettings = AppSettings();
final json = originalSettings.toJson();
final deserializedSettings = AppSettings.fromJson(json);
expect(deserializedSettings.homePageSettings.showPlayButtonOnContinueShelves, isTrue);
expect(deserializedSettings.homePageSettings.showPlayButtonOnAllShelves, isFalse);
expect(deserializedSettings, originalSettings);
});
});
}