2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00
inventree-app/test/preferences_test.dart
Gustaf Järgren 6d4973deb8
Updated dependencies (#255)
* Bump android compile and target version, also flutter dependencies and resolve issues

* Remove deprecated splashscreen and added support for new Android 12 version.

* Updated workflow action versions and flutter sdk

* Resolved linting issues

* Resolved test binding issues
2023-02-11 00:24:06 +11:00

71 lines
2.2 KiB
Dart

/*
* Unit tests for the preferences manager
*/
import "package:flutter_test/flutter_test.dart";
import "package:inventree/preferences.dart";
import "setup.dart";
void main() {
setupTestEnv();
setUp(() async {
});
group("Settings Tests:", () {
test("Default Values", () async {
// Boolean values
expect(await InvenTreeSettingsManager().getBool("test", false), equals(false));
expect(await InvenTreeSettingsManager().getBool("test", true), equals(true));
// String values
expect(await InvenTreeSettingsManager().getValue("test", "x"), equals("x"));
});
test("Set value", () async {
await InvenTreeSettingsManager().setValue("abc", "xyz");
expect(await InvenTreeSettingsManager().getValue("abc", "123"), equals("xyz"));
});
test("Booleans", () async {
// Tests for boolean values
await InvenTreeSettingsManager().removeValue("chicken");
// Use default values when a setting does not exist
assert(await InvenTreeSettingsManager().getBool("chicken", true) == true);
assert(await InvenTreeSettingsManager().getBool("chicken", false) == false);
// Explicitly set to true
await InvenTreeSettingsManager().setValue("chicken", true);
assert(await InvenTreeSettingsManager().getBool("chicken", false) == true);
// Explicitly set to false
await InvenTreeSettingsManager().setValue("chicken", false);
assert(await InvenTreeSettingsManager().getBool("chicken", true) == false);
});
test("Tri State", () async {
// Tests for tristate values
await InvenTreeSettingsManager().removeValue("dog");
// Use default values when a setting does not exist
for (bool? value in [true, false, null]) {
assert(await InvenTreeSettingsManager().getTriState("dog", value) == value);
}
// Explicitly set to a value
for (bool? value in [true, false, null]) {
await InvenTreeSettingsManager().setValue("dog", value);
assert(await InvenTreeSettingsManager().getTriState("dog", true) == value);
assert(await InvenTreeSettingsManager().getTriState("dog", false) == value);
assert(await InvenTreeSettingsManager().getTriState("dog", null) == value);
}
});
});
}