1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-04 07:35:26 +02:00
jami-client-qt/tests/qml/to_fix/tst_WizardView.qml

1590 lines
56 KiB
QML
Raw Normal View History

/*
* Copyright (C) 2021-2022 Savoir-faire Linux Inc.
* Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick
import QtTest
import net.jami.Adapters 1.1
import net.jami.Models 1.1
import net.jami.Constants 1.1
import net.jami.Enums 1.1
import "../../../src/app/wizardview"
import "../../../src/app/commoncomponents"
WizardView {
id: uut
function clearSignalSpy() {
spyAccountIsReady.clear()
spyAccountIsRemoved.clear()
spyAccountConfigFinalized.clear()
spyReportFailure.clear()
spyCloseWizardView.clear()
spyBackButtonVisible.target = undefined
}
SignalSpy {
id: spyAccountIsReady
target: WizardViewStepModel
signalName: "accountIsReady"
}
SignalSpy {
id: spyAccountIsRemoved
target: AccountAdapter
signalName: "accountRemoved"
}
SignalSpy {
id: spyAccountStatusChanged
target: AccountAdapter
signalName: "accountStatusChanged"
}
SignalSpy {
id: spyAccountConfigFinalized
target: AccountAdapter
signalName: "accountConfigFinalized"
}
SignalSpy {
id: spyReportFailure
target: AccountAdapter
signalName: "reportFailure"
}
SignalSpy {
id: spyCloseWizardView
target: WizardViewStepModel
signalName: "closeWizardView"
}
SignalSpy {
id: spyBackButtonVisible
signalName: "visibleChanged"
}
TestCase {
name: "WelcomePage to different account creation page and return back"
when: windowShown
function test_welcomePageStepInStepOut() {
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var importFromDevicePage = findChild(uut, "importFromDevicePage")
var importFromBackupPage = findChild(uut, "importFromBackupPage")
var connectToAccountManagerPage = findChild(uut, "connectToAccountManagerPage")
var createSIPAccountPage = findChild(uut, "createSIPAccountPage")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
createAccountPage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to CreateRendezVous page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
createAccountPage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to CreateRendezVous page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.ImportFromDevice)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
importFromDevicePage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to ImportFromBackup page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.ImportFromBackup)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
importFromBackupPage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to ConnectToAccountManager page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.ConnectToAccountManager)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
connectToAccountManagerPage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to CreateSipAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateSipAccount)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
createSIPAccountPage)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
}
function test_createAccountPageStepInStepOut() {
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var createAccountStack = findChild(createAccountPage, "createAccountStack")
var passwordSetupPage = findChild(createAccountPage, "passwordSetupPage")
var nameRegistrationPage = findChild(createAccountPage, "nameRegistrationPage")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
compare(createAccountPage.isRendezVous, false)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
createAccountPage)
compare(createAccountStack.currentIndex, nameRegistrationPage.stackIndex)
// Go to passwordSetup page
WizardViewStepModel.nextStep()
compare(createAccountStack.currentIndex, passwordSetupPage.stackIndex)
// Back
WizardViewStepModel.previousStep()
compare(createAccountStack.currentIndex, nameRegistrationPage.stackIndex)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to CreateRendezVous page (createAccount)
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
compare(createAccountPage.isRendezVous, true)
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
createAccountPage)
compare(createAccountStack.currentIndex, nameRegistrationPage.stackIndex)
// Go to passwordSetup page
WizardViewStepModel.nextStep()
compare(createAccountStack.currentIndex, passwordSetupPage.stackIndex)
// Back
WizardViewStepModel.previousStep()
compare(createAccountStack.currentIndex, nameRegistrationPage.stackIndex)
WizardViewStepModel.previousStep()
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
}
}
TestCase {
name: "Create Jami account ui flow (no registered name)"
when: windowShown
function test_createJamiAccountUiFlow() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var profilePage = findChild(uut, "profilePage")
var backupKeysPage = findChild(uut, "backupKeysPage")
var usernameEdit = findChild(createAccountPage, "usernameEdit")
var createAccountStack = findChild(createAccountPage, "createAccountStack")
var passwordSwitch = findChild(createAccountPage, "passwordSwitch")
var passwordEdit = findChild(createAccountPage, "passwordEdit")
var passwordConfirmEdit = findChild(createAccountPage, "passwordConfirmEdit")
var createAccountButton = findChild(createAccountPage, "createAccountButton")
var aliasEdit = findChild(profilePage, "aliasEdit")
var saveProfileBtn = findChild(profilePage, "saveProfileBtn")
var password = "test110"
var aliasText = "test101"
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
compare(createAccountStack.currentIndex, 0)
compare(usernameEdit.focus, true)
// Go to set up password page
WizardViewStepModel.nextStep()
compare(createAccountStack.currentIndex, 1)
passwordSwitch.checked = true
compare(passwordEdit.focus, true)
passwordEdit.text = password
passwordConfirmEdit.text = password
createAccountButton.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Now we are in profile page
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
profilePage)
compare(aliasEdit.focus, true)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
aliasEdit.text = aliasText
saveProfileBtn.clicked()
var showBackup = (WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateJamiAccount
|| WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
&& !AppSettingsManager.getValue(Settings.NeverShowMeAgain)
if (showBackup) {
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
backupKeysPage)
WizardViewStepModel.nextStep()
}
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
// Check alias text
compare(CurrentAccount.alias, aliasText)
spyAccountStatusChanged.clear()
// Check if password is set
compare(AccountAdapter.savePassword(LRCInstance.currentAccountId, password, "test"),
true)
// Wait until the account status change is finished
spyAccountStatusChanged.wait()
verify(spyAccountStatusChanged.count >= 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
function test_createRendezVousAccountUiFlow() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var profilePage = findChild(uut, "profilePage")
var backupKeysPage = findChild(uut, "backupKeysPage")
var usernameEdit = findChild(createAccountPage, "usernameEdit")
var createAccountStack = findChild(createAccountPage, "createAccountStack")
var passwordSwitch = findChild(createAccountPage, "passwordSwitch")
var passwordEdit = findChild(createAccountPage, "passwordEdit")
var passwordConfirmEdit = findChild(createAccountPage, "passwordConfirmEdit")
var createAccountButton = findChild(createAccountPage, "createAccountButton")
var aliasEdit = findChild(profilePage, "aliasEdit")
var saveProfileBtn = findChild(profilePage, "saveProfileBtn")
var password = "test110"
var aliasText = "test101"
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createRendezVous page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
compare(createAccountStack.currentIndex, 0)
compare(usernameEdit.focus, true)
// Go to set up password page
WizardViewStepModel.nextStep()
compare(createAccountStack.currentIndex, 1)
passwordSwitch.checked = true
compare(passwordEdit.focus, true)
passwordEdit.text = password
passwordConfirmEdit.text = password
createAccountButton.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Now we are in profile page
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
profilePage)
compare(aliasEdit.focus, true)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
// Check if it is a RendezVous acc
compare(CurrentAccount.isRendezVous, true)
aliasEdit.text = aliasText
saveProfileBtn.clicked()
var showBackup = (WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateJamiAccount
|| WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
&& !AppSettingsManager.getValue(Settings.NeverShowMeAgain)
if (showBackup) {
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
backupKeysPage)
WizardViewStepModel.nextStep()
}
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
// Check alias text
compare(CurrentAccount.alias, aliasText)
spyAccountStatusChanged.clear()
// Check if password is set
compare(AccountAdapter.savePassword(LRCInstance.currentAccountId, password, "test"),
true)
// Wait until the account status change is finished
spyAccountStatusChanged.wait()
verify(spyAccountStatusChanged.count >= 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
}
TestCase {
name: "Create Sip account ui flow"
when: windowShown
function test_createSipAccountUiFlow() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createSIPAccountPage = findChild(uut, "createSIPAccountPage")
var profilePage = findChild(uut, "profilePage")
var sipUsernameEdit = findChild(createSIPAccountPage, "sipUsernameEdit")
var sipPasswordEdit = findChild(createSIPAccountPage, "sipPasswordEdit")
var sipServernameEdit = findChild(createSIPAccountPage, "sipServernameEdit")
var sipProxyEdit = findChild(createSIPAccountPage, "sipProxyEdit")
var createAccountButton = findChild(createSIPAccountPage, "createSIPAccountButton")
var saveProfileBtn = findChild(profilePage, "saveProfileBtn")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createSipAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateSipAccount)
compare(sipServernameEdit.focus, true)
// Set up paras
var userName = "testUserName"
var serverName = "testServerName"
var password = "testPassword"
var proxy = "testProxy"
sipUsernameEdit.text = userName
sipPasswordEdit.text = password
sipServernameEdit.text = serverName
sipProxyEdit.text = proxy
createAccountButton.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Now we are in profile page
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
profilePage)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
// Check if paras match with setup
compare(CurrentAccount.routeset, proxy)
compare(CurrentAccount.username, userName)
compare(CurrentAccount.hostname, serverName)
compare(CurrentAccount.password, password)
WizardViewStepModel.nextStep()
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
}
TestCase {
name: "Create Jami account from backup ui flow"
when: windowShown
function test_createJamiAccountFromBackupUiFlow() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var importFromBackupPage = findChild(uut, "importFromBackupPage")
var profilePage = findChild(uut, "profilePage")
var passwordFromBackupEdit = findChild(importFromBackupPage, "passwordFromBackupEdit")
var connectBtn = findChild(importFromBackupPage, "importFromBackupPageConnectBtn")
var errorLabel = findChild(importFromBackupPage, "errorLabel")
var backButton = findChild(importFromBackupPage, "importFromBackupPageBackButton")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to importFromBackup page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.ImportFromBackup)
spyBackButtonVisible.target = backButton
compare(passwordFromBackupEdit.focus, true)
var fileName = "gz_test.gz"
var password = "qqq"
importFromBackupPage.filePath = UtilsAdapter.toFileAbsolutepath(
"tests/qml/src/resources/gz_test.gz") + "/" + fileName
compare(connectBtn.enabled, true)
// Create without password
connectBtn.clicked()
spyReportFailure.wait()
verify(spyReportFailure.count >= 1)
spyBackButtonVisible.wait()
verify(spyBackButtonVisible.count >= 2)
spyBackButtonVisible.clear()
compare(importFromBackupPage.errorText, JamiStrings.errorCreateAccount)
compare(errorLabel.visible, true)
// Recreate with password
passwordFromBackupEdit.text = password
connectBtn.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
}
TestCase {
name: "Wizardview key navigation"
when: windowShown
function test_welcomePageKeyNavigation() {
var welcomePage = findChild(uut, "welcomePage")
var newAccountButton = findChild(welcomePage, "newAccountButton")
var newRdvButton = findChild(welcomePage, "newRdvButton")
var fromDeviceButton = findChild(welcomePage, "fromDeviceButton")
var fromBackupButton = findChild(welcomePage, "fromBackupButton")
var showAdvancedButton = findChild(welcomePage, "showAdvancedButton")
var connectAccountManagerButton = findChild(welcomePage, "connectAccountManagerButton")
var newSIPAccountButton = findChild(welcomePage, "newSIPAccountButton")
var welcomePageBackButton = findChild(welcomePage, "welcomePageBackButton")
welcomePageBackButton.visible = true
// ShowAdvanced is false
keyClick(Qt.Key_Tab)
compare(newAccountButton.focus, true)
keyClick(Qt.Key_Tab)
compare(newRdvButton.focus, true)
keyClick(Qt.Key_Tab)
compare(fromDeviceButton.focus, true)
keyClick(Qt.Key_Tab)
compare(fromBackupButton.focus, true)
keyClick(Qt.Key_Tab)
compare(showAdvancedButton.focus, true)
keyClick(Qt.Key_Tab)
compare(welcomePageBackButton.focus, true)
// Set showAdvanced to true
keyClick(Qt.Key_Up)
compare(showAdvancedButton.focus, true)
keyClick(Qt.Key_Enter)
compare(showAdvancedButton.showAdvanced, true)
keyClick(Qt.Key_Tab)
compare(connectAccountManagerButton.focus, true)
keyClick(Qt.Key_Tab)
compare(newSIPAccountButton.focus, true)
// Use down button
keyClick(Qt.Key_Down)
compare(welcomePageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(newAccountButton.focus, true)
keyClick(Qt.Key_Down)
compare(newRdvButton.focus, true)
keyClick(Qt.Key_Down)
compare(fromDeviceButton.focus, true)
keyClick(Qt.Key_Down)
compare(fromBackupButton.focus, true)
keyClick(Qt.Key_Down)
compare(showAdvancedButton.focus, true)
keyClick(Qt.Key_Down)
compare(connectAccountManagerButton.focus, true)
keyClick(Qt.Key_Down)
compare(newSIPAccountButton.focus, true)
keyClick(Qt.Key_Down)
compare(welcomePageBackButton.focus, true)
// Use up button
keyClick(Qt.Key_Up)
compare(newSIPAccountButton.focus, true)
keyClick(Qt.Key_Up)
compare(connectAccountManagerButton.focus, true)
keyClick(Qt.Key_Up)
compare(showAdvancedButton.focus, true)
keyClick(Qt.Key_Up)
compare(fromBackupButton.focus, true)
keyClick(Qt.Key_Up)
compare(fromDeviceButton.focus, true)
keyClick(Qt.Key_Up)
compare(newRdvButton.focus, true)
keyClick(Qt.Key_Up)
compare(newAccountButton.focus, true)
}
function test_createAccountPageKeyNavigation() {
uut.clearSignalSpy()
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var newAccountButton = findChild(welcomePage, "newAccountButton")
var usernameEdit = findChild(createAccountPage, "usernameEdit")
var chooseUsernameButton = findChild(createAccountPage,
"chooseUsernameButton")
var nameRegistrationPageSkipButton = findChild(createAccountPage,
"nameRegistrationPageSkipButton")
var passwordEdit = findChild(createAccountPage, "passwordEdit")
var passwordSwitch = findChild(createAccountPage, "passwordSwitch")
var passwordConfirmEdit = findChild(createAccountPage, "passwordConfirmEdit")
var createAccountButton = findChild(createAccountPage,
"createAccountButton")
var createAccountPageBackButton = findChild(createAccountPage,
"createAccountPageBackButton")
// To createAccountPage - nameRegistrationPage
keyClick(Qt.Key_Tab)
compare(newAccountButton.focus, true)
keyClick(Qt.Key_Enter)
compare(usernameEdit.focus, true)
// No username
keyClick(Qt.Key_Tab)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(usernameEdit.focus, true)
keyClick(Qt.Key_Down)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(usernameEdit.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Up)
compare(usernameEdit.focus, true)
// With username
usernameEdit.nameRegistrationState =
UsernameLineEdit.NameRegistrationState.FREE
keyClick(Qt.Key_Tab)
compare(chooseUsernameButton.focus, true)
keyClick(Qt.Key_Tab)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(usernameEdit.focus, true)
keyClick(Qt.Key_Down)
compare(chooseUsernameButton.focus, true)
keyClick(Qt.Key_Down)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(usernameEdit.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(nameRegistrationPageSkipButton.focus, true)
keyClick(Qt.Key_Up)
compare(chooseUsernameButton.focus, true)
keyClick(Qt.Key_Up)
compare(usernameEdit.focus, true)
// To createAccountPage - passwordSetupPage
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Tab)
compare(passwordSwitch.focus, true)
// No password
keyClick(Qt.Key_Tab)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Up)
compare(passwordSwitch.focus, true)
// With password - no text entered
keyClick(Qt.Key_Enter)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Down)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Down)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Up)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Up)
compare(passwordSwitch.focus, true)
// With password - with text entered
passwordEdit.text = "test"
passwordConfirmEdit.text = "test"
keyClick(Qt.Key_Tab)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Tab)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Down)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Down)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Down)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(passwordSwitch.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(createAccountButton.focus, true)
keyClick(Qt.Key_Up)
compare(passwordConfirmEdit.focus, true)
keyClick(Qt.Key_Up)
compare(passwordEdit.focus, true)
keyClick(Qt.Key_Up)
compare(passwordSwitch.focus, true)
passwordEdit.text = ""
passwordConfirmEdit.text = ""
// Check lineEdit enter key press corrspond correctly
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Enter)
compare(passwordConfirmEdit.focus, true)
passwordEdit.text = "test"
passwordConfirmEdit.text = "test"
keyClick(Qt.Key_Enter)
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Go back to welcomePage
WizardViewStepModel.nextStep()
var showBackup = (WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateJamiAccount
|| WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
&& !AppSettingsManager.getValue(Settings.NeverShowMeAgain)
if (showBackup) {
WizardViewStepModel.nextStep()
}
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
function test_importFromDevicePageKeyNavigation() {
uut.clearSignalSpy()
var welcomePage = findChild(uut, "welcomePage")
var importFromDevicePage = findChild(uut, "importFromDevicePage")
var fromDeviceButton = findChild(welcomePage, "fromDeviceButton")
var pinFromDevice = findChild(importFromDevicePage, "pinFromDevice")
var importFromDevicePageConnectBtn = findChild(importFromDevicePage,
"importFromDevicePageConnectBtn")
var passwordFromDevice = findChild(importFromDevicePage, "passwordFromDevice")
var importFromDevicePageBackButton = findChild(importFromDevicePage,
"importFromDevicePageBackButton")
// To importFromDevicePage
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
compare(fromDeviceButton.focus, true)
keyClick(Qt.Key_Enter)
compare(pinFromDevice.focus, true)
// No device pin
keyClick(Qt.Key_Tab)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Tab)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(pinFromDevice.focus, true)
// With device pin
pinFromDevice.text = "test"
keyClick(Qt.Key_Tab)
compare(importFromDevicePageConnectBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Tab)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(importFromDevicePageConnectBtn.focus, true)
keyClick(Qt.Key_Down)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(importFromDevicePageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(importFromDevicePageConnectBtn.focus, true)
keyClick(Qt.Key_Up)
compare(pinFromDevice.focus, true)
// Account creation in process
importFromDevicePageConnectBtn.spinnerTriggered = true
keyClick(Qt.Key_Tab)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Tab)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Down)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromDevice.focus, true)
keyClick(Qt.Key_Up)
compare(pinFromDevice.focus, true)
importFromDevicePageConnectBtn.spinnerTriggered = false
// Check lineEdit enter key press corrspond correctly
keyClick(Qt.Key_Enter)
compare(pinFromDevice.focus, true)
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Enter)
compare(pinFromDevice.focus, true)
pinFromDevice.text = "test"
keyClick(Qt.Key_Enter)
spyReportFailure.wait(15000)
verify(spyReportFailure.count >= 1)
// Go back to welcomePage
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Enter)
}
function test_importFromBackupPageKeyNavigation() {
uut.clearSignalSpy()
var welcomePage = findChild(uut, "welcomePage")
var importFromBackupPage = findChild(uut, "importFromBackupPage")
var fromBackupButton = findChild(welcomePage, "fromBackupButton")
var passwordFromBackupEdit = findChild(importFromBackupPage, "passwordFromBackupEdit")
var importFromBackupPageBackButton = findChild(importFromBackupPage,
"importFromBackupPageBackButton")
var importFromBackupPageConnectBtn = findChild(importFromBackupPage,
"importFromBackupPageConnectBtn")
var fileImportBtn = findChild(importFromBackupPage, "fileImportBtn")
// To importFromBackupPage
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
compare(fromBackupButton.focus, true)
keyClick(Qt.Key_Enter)
compare(passwordFromBackupEdit.focus, true)
// No filePath loaded
keyClick(Qt.Key_Tab)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Down)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Up)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Up)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromBackupEdit.focus, true)
// With filePath loaded
importFromBackupPage.filePath = "test"
keyClick(Qt.Key_Tab)
compare(importFromBackupPageConnectBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Down)
compare(importFromBackupPageConnectBtn.focus, true)
keyClick(Qt.Key_Down)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Up)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Up)
compare(importFromBackupPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(importFromBackupPageConnectBtn.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromBackupEdit.focus, true)
// Account creation in process
importFromBackupPageConnectBtn.spinnerTriggered = true
keyClick(Qt.Key_Tab)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Down)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Down)
compare(passwordFromBackupEdit.focus, true)
keyClick(Qt.Key_Up)
compare(fileImportBtn.focus, true)
keyClick(Qt.Key_Up)
compare(passwordFromBackupEdit.focus, true)
importFromBackupPageConnectBtn.spinnerTriggered = false
// Check lineEdit enter key press corrspond correctly
var fileName = "gz_test.gz"
var wrongPassword = "ccc"
importFromBackupPage.filePath = UtilsAdapter.toFileAbsolutepath(
"tests/qml/src/resources/gz_test.gz") + "/" + fileName
passwordFromBackupEdit.text = wrongPassword
keyClick(Qt.Key_Enter)
spyReportFailure.wait(15000)
verify(spyReportFailure.count >= 1)
// Go back to welcomePage
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Enter)
}
function test_createSIPAccountPageKeyNavigation() {
uut.clearSignalSpy()
var welcomePage = findChild(uut, "welcomePage")
var createSIPAccountPage = findChild(uut, "createSIPAccountPage")
var showAdvancedButton = findChild(welcomePage, "showAdvancedButton")
var newSIPAccountButton = findChild(welcomePage, "newSIPAccountButton")
var sipServernameEdit = findChild(createSIPAccountPage, "sipServernameEdit")
var sipProxyEdit = findChild(createSIPAccountPage, "sipProxyEdit")
var sipUsernameEdit = findChild(createSIPAccountPage, "sipUsernameEdit")
var sipPasswordEdit = findChild(createSIPAccountPage, "sipPasswordEdit")
var createSIPAccountButton = findChild(createSIPAccountPage, "createSIPAccountButton")
var createSIPAccountPageBackButton = findChild(createSIPAccountPage,
"createSIPAccountPageBackButton")
// To connectToAccountManagerPage
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Up)
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
compare(newSIPAccountButton.focus, true)
keyClick(Qt.Key_Enter)
compare(sipServernameEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(sipProxyEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(sipUsernameEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(sipPasswordEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(createSIPAccountButton.focus, true)
keyClick(Qt.Key_Tab)
compare(createSIPAccountPageBackButton.focus, true)
keyClick(Qt.Key_Tab)
compare(sipServernameEdit.focus, true)
keyClick(Qt.Key_Down)
compare(sipProxyEdit.focus, true)
keyClick(Qt.Key_Down)
compare(sipUsernameEdit.focus, true)
keyClick(Qt.Key_Down)
compare(sipPasswordEdit.focus, true)
keyClick(Qt.Key_Down)
compare(createSIPAccountButton.focus, true)
keyClick(Qt.Key_Down)
compare(createSIPAccountPageBackButton.focus, true)
keyClick(Qt.Key_Down)
compare(sipServernameEdit.focus, true)
keyClick(Qt.Key_Up)
compare(createSIPAccountPageBackButton.focus, true)
keyClick(Qt.Key_Up)
compare(createSIPAccountButton.focus, true)
keyClick(Qt.Key_Up)
compare(sipPasswordEdit.focus, true)
keyClick(Qt.Key_Up)
compare(sipUsernameEdit.focus, true)
keyClick(Qt.Key_Up)
compare(sipProxyEdit.focus, true)
keyClick(Qt.Key_Up)
compare(sipServernameEdit.focus, true)
// Check lineEdit enter key press corrspond correctly
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Enter)
keyClick(Qt.Key_Enter)
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
spyAccountStatusChanged.wait()
verify(spyAccountStatusChanged.count >= 1)
WizardViewStepModel.nextStep()
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
// Hide advanced options
showAdvancedButton.clicked()
}
function test_profilePageKeyNavigation() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var profilePage = findChild(uut, "profilePage")
var backupKeysPage = findChild(uut, "backupKeysPage")
var createAccountButton = findChild(createAccountPage, "createAccountButton")
var aliasEdit = findChild(profilePage, "aliasEdit")
var saveProfileBtn = findChild(profilePage, "saveProfileBtn")
var setAvatarWidget = findChild(profilePage, "setAvatarWidget")
var skipProfileSavingButton = findChild(profilePage, "skipProfileSavingButton")
var photoboothImportFromFileDialog = findChild(setAvatarWidget,
"photoboothImportFromFileDialog")
var takePhotoButton = findChild(setAvatarWidget, "takePhotoButton")
var photoboothViewClearButton = findChild(setAvatarWidget,
"photoboothViewClearButton")
var photoboothViewImportButton = findChild(setAvatarWidget,
"photoboothViewImportButton")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
// Go to set up password page
WizardViewStepModel.nextStep()
createAccountButton.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Now we are in profile page
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
profilePage)
compare(aliasEdit.focus, true)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
// Navigation test
keyClick(Qt.Key_Tab)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Tab)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Tab)
compare(photoboothViewImportButton.focus, true)
keyClick(Qt.Key_Tab)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Down)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Down)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Down)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Down)
compare(photoboothViewImportButton.focus, true)
keyClick(Qt.Key_Down)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Up)
compare(photoboothViewImportButton.focus, true)
keyClick(Qt.Key_Up)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Up)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Up)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Up)
compare(aliasEdit.focus, true)
// Set up photo from fake JamiFileDialog imported file
spyAccountStatusChanged.clear()
photoboothViewImportButton.focusAfterFileDialogClosed = true
photoboothImportFromFileDialog.file = UtilsAdapter.toFileAbsolutepath(
"tests/qml/src/resources/png_test.png") + "/" + "png_test.png"
photoboothImportFromFileDialog.accepted()
spyAccountStatusChanged.wait()
verify(spyAccountStatusChanged.count >= 1)
compare(photoboothViewImportButton.focus, true)
compare(photoboothViewClearButton.visible, true)
keyClick(Qt.Key_Tab)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Tab)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Tab)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Tab)
compare(photoboothViewImportButton.focus, true)
keyClick(Qt.Key_Down)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Down)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Down)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Down)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Down)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Down)
compare(photoboothViewImportButton.focus, true)
keyClick(Qt.Key_Up)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Up)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Up)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Up)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Up)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Up)
compare(photoboothViewImportButton.focus, true)
// Clear photo
keyClick(Qt.Key_Up)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Enter)
compare(takePhotoButton.focus, true)
// Taking photo focus test
setAvatarWidget.isPreviewing = true
keyClick(Qt.Key_Tab)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Tab)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Tab)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Tab)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Tab)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Down)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Down)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Down)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Down)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Down)
compare(takePhotoButton.focus, true)
keyClick(Qt.Key_Up)
compare(skipProfileSavingButton.focus, true)
keyClick(Qt.Key_Up)
compare(saveProfileBtn.focus, true)
keyClick(Qt.Key_Up)
compare(aliasEdit.focus, true)
keyClick(Qt.Key_Up)
compare(photoboothViewClearButton.focus, true)
keyClick(Qt.Key_Up)
compare(takePhotoButton.focus, true)
setAvatarWidget.isPreviewing = false
// Check lineEdit enter key press corrspond correctly
var aliasName = "test"
aliasEdit.text = aliasName
spyAccountStatusChanged.clear()
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Tab)
keyClick(Qt.Key_Enter)
var showBackup = (WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateJamiAccount
|| WizardViewStepModel.accountCreationOption ===
WizardViewStepModel.AccountCreationOption.CreateRendezVous)
&& !AppSettingsManager.getValue(Settings.NeverShowMeAgain)
if (showBackup) {
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
backupKeysPage)
WizardViewStepModel.nextStep()
}
spyAccountStatusChanged.wait()
verify(spyAccountStatusChanged.count >= 1)
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
// Check alias text
compare(CurrentAccount.alias, aliasName)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
function test_backupKeysPageNavigation() {
uut.clearSignalSpy()
var controlPanelStackView = findChild(uut, "controlPanelStackView")
var welcomePage = findChild(uut, "welcomePage")
var createAccountPage = findChild(uut, "createAccountPage")
var profilePage = findChild(uut, "profilePage")
var backupKeysPage = findChild(uut, "backupKeysPage")
var createAccountButton = findChild(createAccountPage, "createAccountButton")
var skipProfileSavingButton = findChild(profilePage, "skipProfileSavingButton")
// WelcomePage initially
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
welcomePage)
// Go to createAccount page
WizardViewStepModel.startAccountCreationFlow(
WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
// Go to set up password page
WizardViewStepModel.nextStep()
createAccountButton.clicked()
// Wait until the account creation is finished
spyAccountIsReady.wait()
compare(spyAccountIsReady.count, 1)
// Now we are in profile page
compare(controlPanelStackView.children[controlPanelStackView.currentIndex],
profilePage)
spyAccountConfigFinalized.wait()
compare(spyAccountConfigFinalized.count, 1)
skipProfileSavingButton.clicked()
spyCloseWizardView.wait()
compare(spyCloseWizardView.count, 1)
AccountAdapter.deleteCurrentAccount()
// Wait until the account removal is finished
spyAccountIsRemoved.wait()
compare(spyAccountIsRemoved.count, 1)
}
}
}