From 61ea8ff2778761e903e8518e46a2bbb5b26a6b32 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Mon, 8 Jan 2024 00:17:35 +0530 Subject: [PATCH] Create settings_model_test.dart --- test/models/settings_model_test.dart | 74 ++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 test/models/settings_model_test.dart diff --git a/test/models/settings_model_test.dart b/test/models/settings_model_test.dart new file mode 100644 index 00000000..62745e62 --- /dev/null +++ b/test/models/settings_model_test.dart @@ -0,0 +1,74 @@ +import 'package:test/test.dart'; +import 'package:flutter/material.dart'; +import 'package:apidash/models/settings_model.dart'; +import 'package:apidash/consts.dart'; + +void main() { + const sm = SettingsModel( + isDark: false, + alwaysShowCollectionPaneScrollbar: true, + size: Size(300, 200), + offset: Offset(100, 150), + defaultUriScheme: "http", + defaultCodeGenLang: CodegenLanguage.curl, + saveResponses: true, + ); + + test('Testing toJson()', () { + const expectedResult = { + "isDark": false, + "alwaysShowCollectionPaneScrollbar": true, + "width": 300.0, + "height": 200.0, + "dx": 100.0, + "dy": 150.0, + "defaultUriScheme": "http", + "defaultCodeGenLang": "curl", + "saveResponses": true, + }; + expect(sm.toJson(), expectedResult); + }); + + test('Testing fromJson()', () { + const input = { + "isDark": false, + "alwaysShowCollectionPaneScrollbar": true, + "width": 300.0, + "height": 200.0, + "dx": 100.0, + "dy": 150.0, + "defaultUriScheme": "http", + "defaultCodeGenLang": "curl", + "saveResponses": true, + }; + expect(SettingsModel.fromJson(input), sm); + }); + + test('Testing copyWith()', () { + const expectedResult = SettingsModel( + isDark: true, + alwaysShowCollectionPaneScrollbar: true, + size: Size(300, 200), + offset: Offset(100, 150), + defaultUriScheme: "http", + defaultCodeGenLang: CodegenLanguage.curl, + saveResponses: false, + ); + expect( + sm.copyWith( + isDark: true, + saveResponses: false, + ), + expectedResult); + }); + + test('Testing toString()', () { + const expectedResult = + "{isDark: false, alwaysShowCollectionPaneScrollbar: true, width: 300.0, height: 200.0, dx: 100.0, dy: 150.0, defaultUriScheme: http, defaultCodeGenLang: curl, saveResponses: true}"; + expect(sm.toString(), expectedResult); + }); + + test('Testing hashcode', () { + expect(sm.hashCode, greaterThan(0)); + }); +}