mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-28 13:36:50 +00:00
* Catch paginator bug if widget is disposed before request returns * Refactoring paginated query widget - Add option to enable / disable search filters * Major refactor of paginated search widget - Learned something new.. a state can access widget.<attribute> - THIS CHANGES EVERTHING * Preferences: Add code for tri-state values - Also improve unit testing for preferences code * Allow boolean form fields to be optionally tristate * paginator: Allow custom boolean filters * Remove outdated filtering preferences * Refactor filter options - Allow specification of more detailed options * Add custom filters for "part" list * filter tweaks * Remove legacy "SublocationList" widget * Add filtering option for locationlist * Updates for stock location widget * Refactor category display widget * More widget refactoring * Update main search widget * Fix unit tests * Improve filtering on BOM display page
68 lines
2.2 KiB
Dart
68 lines
2.2 KiB
Dart
/*
|
|
* Unit tests for the preferences manager
|
|
*/
|
|
|
|
import "package:test/test.dart";
|
|
import "package:inventree/preferences.dart";
|
|
|
|
void main() {
|
|
|
|
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);
|
|
}
|
|
});
|
|
});
|
|
} |