desktop-ui-tests/tst_profile_popup.qml

82 lines
2.7 KiB
QML

import QtQuick 2.14
import QtQuick.Window 2.14
import QtTest 1.14
import "base"
import "status-desktop/ui/app/AppLayouts/Chat/components" as DesktopComponents
WindowTestCase {
name: "ProfilePopup"
when: windowShown
Helpers { id: helpers }
/// TODO: add good test data
ChatsModelData {
id: chatsModel
}
ProfileModelData {
id: profileModel
}
Component {
id: popupComponent
DesktopComponents.ProfilePopup {
id: propfile
}
}
// Catching editClickedSignal
SignalSpy {
id: editClickedSpy
signalName: "headerImageClicked"
}
///////
function test_case1() {
var propfilePopup = popupComponent.createObject(window)
propfilePopup.openPopup(true, "Test user", "Some author", "", "bla bla test it bitch", "Nickname")
mouseClick(propfilePopup.background, propfilePopup.width - 65, 20, Qt.LeftButton)
verify(propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
propfilePopup.contentItem.qrCodePopup.close()
verify(!propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
propfilePopup.destroy()
}
function test_case2_current_user() {
profileModel.profile.pubKey = "current-user"
var propfilePopup = popupComponent.createObject(window)
wait(2000)
propfilePopup.openPopup(true, "Test user", "current-user", "", "bla bla test it bitch", "Nickname")
editClickedSpy.target = propfilePopup
verify(propfilePopup.isCurrentUser, "User should be current")
wait(5000)
var editbButton = helpers.getObjectByObjectName(propfilePopup.background, "editAvatarImage")
verify(!!editbButton, "object with name \"editAvatarImage\" not found")
verify(editbButton.visible, "editAvatarImage should be visible")
compare(editClickedSpy.count, 0)
mouseClick(editbButton, 1, 1, Qt.LeftButton)
wait(5000)
compare(editClickedSpy.count, 1, "Edit avatar button not clicked")
propfilePopup.destroy()
}
function test_case3_not_current_user() {
profileModel.profile.pubKey = "another-user"
var propfilePopup = popupComponent.createObject(window)
wait(2000)
propfilePopup.openPopup(true, "Test user", "current-user", "", "bla bla test it bitch", "Nickname")
wait(5000)
verify(!propfilePopup.isCurrentUser, "User should be is not current")
var editbButton = helpers.getObjectByObjectName(propfilePopup.background, "editAvatarImage")
verify(!!editbButton, "object with name \"editAvatarImage\" not found")
verify(!editbButton.visible, "editAvatarImage should be not visible")
propfilePopup.destroy()
}
}