Add test for vibration setting functionality

Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-09-30 06:59:18 +00:00
parent a7f9ca489e
commit 559fe1232b

View File

@@ -0,0 +1,56 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:swift_control/utils/settings/settings.dart';
void main() {
group('Vibration Setting Tests', () {
late Settings settings;
setUp(() async {
// Initialize SharedPreferences with in-memory storage for testing
SharedPreferences.setMockInitialValues({});
settings = Settings();
await settings.init();
});
test('Vibration setting should default to true', () {
expect(settings.getVibrationEnabled(), true);
});
test('Vibration setting should persist when set to false', () async {
await settings.setVibrationEnabled(false);
expect(settings.getVibrationEnabled(), false);
});
test('Vibration setting should persist when set to true', () async {
await settings.setVibrationEnabled(true);
expect(settings.getVibrationEnabled(), true);
});
test('Vibration setting should toggle correctly', () async {
// Start with default (true)
expect(settings.getVibrationEnabled(), true);
// Toggle to false
await settings.setVibrationEnabled(false);
expect(settings.getVibrationEnabled(), false);
// Toggle back to true
await settings.setVibrationEnabled(true);
expect(settings.getVibrationEnabled(), true);
});
test('Vibration setting should persist across Settings instances', () async {
// Set vibration to false
await settings.setVibrationEnabled(false);
expect(settings.getVibrationEnabled(), false);
// Create a new Settings instance
final newSettings = Settings();
await newSettings.init();
// Should still be false
expect(newSettings.getVibrationEnabled(), false);
});
});
}