1/*
2 * \copyright Copyright (c) 2017-2021 Governikus GmbH & Co. KG, Germany
3 */
4
5import QtQuick 2.12
6import QtTest 1.12
7
8import Governikus.ChangePinView 1.0
9
10TestCase {
11	id: testCase
12
13	name: "test_ChangePinView"
14	visible: true
15	when: windowShown
16
17	function createTestObject() {
18		return createTemporaryQmlObject("
19			import QtQuick 2.12
20			import Governikus.ChangePinView 1.0;
21
22			Item {
23				id: appWindow
24
25				property alias _d: view._d
26				property var menuBar: Item {
27					function updateActions() {}
28				}
29
30				ChangePinView {
31					id: view
32				}
33			}
34			", testCase);
35	}
36
37	TestCase {
38		when: testCase.completed
39		optional: true
40
41		function benchmark_load() {
42			let testObject = createTestObject()
43			testObject.destroy()
44		}
45	}
46
47	function test_load() {
48		let testObject = createTestObject()
49		verify(testObject, "Object loaded")
50	}
51
52	function test_subview_Workflow() {
53		let testObject = createTestObject()
54		testObject._d.view = ChangePinView.SubViews.Workflow
55		compare(testObject._d.view, ChangePinView.SubViews.Workflow, "Subview shown")
56	}
57
58	function test_subview_Password() {
59		let testObject = createTestObject()
60		testObject._d.view = ChangePinView.SubViews.Password
61		compare(testObject._d.view, ChangePinView.SubViews.Password, "Subview shown")
62	}
63
64	function test_subview_PasswordInfo() {
65		let testObject = createTestObject()
66		testObject._d.view = ChangePinView.SubViews.PasswordInfo
67		compare(testObject._d.view, ChangePinView.SubViews.PasswordInfo, "Subview shown")
68	}
69
70	function test_subview_Progress() {
71		let testObject = createTestObject()
72		testObject._d.view = ChangePinView.SubViews.Progress
73		compare(testObject._d.view, ChangePinView.SubViews.Progress, "Subview shown")
74	}
75
76	function test_subview_CardPosition() {
77		let testObject = createTestObject()
78		testObject._d.view = ChangePinView.SubViews.CardPosition
79		compare(testObject._d.view, ChangePinView.SubViews.CardPosition, "Subview shown")
80	}
81
82	function test_subview_InputError() {
83		let testObject = createTestObject()
84		testObject._d.view = ChangePinView.SubViews.InputError
85		compare(testObject._d.view, ChangePinView.SubViews.InputError, "Subview shown")
86	}
87
88	function test_subview_Data() {
89		let testObject = createTestObject()
90		testObject._d.view = ChangePinView.SubViews.Data
91		compare(testObject._d.view, ChangePinView.SubViews.Data, "Subview shown")
92	}
93
94	function test_subview_PinUnlocked() {
95		let testObject = createTestObject()
96		testObject._d.view = ChangePinView.SubViews.PinUnlocked
97		compare(testObject._d.view, ChangePinView.SubViews.PinUnlocked, "Subview shown")
98	}
99
100	function test_subview_Result() {
101		let testObject = createTestObject()
102		testObject._d.view = ChangePinView.SubViews.Result
103		compare(testObject._d.view, ChangePinView.SubViews.Result, "Subview shown")
104	}
105
106	function test_subview_ReturnToMain() {
107		let testObject = createTestObject()
108		testObject._d.view = ChangePinView.SubViews.ReturnToMain
109		compare(testObject._d.view, ChangePinView.SubViews.ReturnToMain, "Subview shown")
110	}
111
112	function test_subview_ReaderSettings() {
113		let testObject = createTestObject()
114		testObject._d.view = ChangePinView.SubViews.ReaderSettings
115		compare(testObject._d.view, ChangePinView.SubViews.ReaderSettings, "Subview shown")
116	}
117
118}
119