From 559fe1232b64000cd5fef28ae568ca511e9da8db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:59:18 +0000 Subject: [PATCH] Add test for vibration setting functionality Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- test/vibration_setting_test.dart | 56 ++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 test/vibration_setting_test.dart diff --git a/test/vibration_setting_test.dart b/test/vibration_setting_test.dart new file mode 100644 index 0000000..fc1081b --- /dev/null +++ b/test/vibration_setting_test.dart @@ -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); + }); + }); +}