Add test for edit avatar issue
This commit is contained in:
parent
7289c8b782
commit
57cc80304c
|
@ -1,6 +1,3 @@
|
||||||
[submodule "StatusQ"]
|
|
||||||
path = StatusQ
|
|
||||||
url = https://github.com/status-im/StatusQ
|
|
||||||
[submodule "status-desktop"]
|
[submodule "status-desktop"]
|
||||||
path = status-desktop
|
path = status-desktop
|
||||||
url = https://github.com/status-im/status-desktop.git
|
url = https://github.com/status-im/status-desktop.git
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
import QtQuick 2.14
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: chatsModel
|
||||||
|
property var ensView: QtObject {
|
||||||
|
function isEnsVerified(author) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function alias(author) {
|
||||||
|
return "some alias"
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,6 +27,23 @@ QtObject {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getObjectByObjectName(parent, objectName) {
|
||||||
|
for (var idx in parent.children) {
|
||||||
|
var child = parent.children[idx]
|
||||||
|
|
||||||
|
if (child.objectName === objectName) {
|
||||||
|
return child;
|
||||||
|
} else {
|
||||||
|
var res = getObjectByObjectName(child, objectName)
|
||||||
|
if (!!res) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
function findChildByClassName(item, className) {
|
function findChildByClassName(item, className) {
|
||||||
for (var idx in item.children) {
|
for (var idx in item.children) {
|
||||||
let child = item.children[idx]
|
let child = item.children[idx]
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
import QtQuick 2.14
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: profileModel
|
||||||
|
property var contacts: QtObject {
|
||||||
|
function isContactBlocked(author) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isAdded(author) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
property var profile: QtObject {
|
||||||
|
property string pubKey: "Some author"
|
||||||
|
}
|
||||||
|
|
||||||
|
function qrCode(author) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
property var ens: ({preferredUserName: "preffered User name"})
|
||||||
|
}
|
3
setup.h
3
setup.h
|
@ -23,8 +23,7 @@ public slots:
|
||||||
void qmlEngineAvailable(QQmlEngine *engine)
|
void qmlEngineAvailable(QQmlEngine *engine)
|
||||||
{
|
{
|
||||||
engine->rootContext()->setContextProperty("myContextProperty", QVariant(true));
|
engine->rootContext()->setContextProperty("myContextProperty", QVariant(true));
|
||||||
qDebug() << "StatusQ Path: " << QString(PWD(PROJECT_PATH));
|
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/status-desktop/ui/StatusQ/src");
|
||||||
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/StatusQ/src");
|
|
||||||
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/status-desktop/ui/imports");
|
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/status-desktop/ui/imports");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4b73d6849025c8272c3fc882855f73a0d113ced6
|
Subproject commit abf2a46dc99353704e1432ad79990174ffd5cd6c
|
|
@ -6,55 +6,34 @@ import "base"
|
||||||
import "status-desktop/ui/app/AppLayouts/Chat/components" as DesktopComponents
|
import "status-desktop/ui/app/AppLayouts/Chat/components" as DesktopComponents
|
||||||
|
|
||||||
|
|
||||||
TestCase {
|
WindowTestCase {
|
||||||
name: "ProfilePopup"
|
name: "ProfilePopup"
|
||||||
when: windowShown
|
when: windowShown
|
||||||
|
|
||||||
Helpers { id: helpers }
|
Helpers { id: helpers }
|
||||||
|
|
||||||
/// TODO: add good test data
|
/// TODO: add good test data
|
||||||
QtObject {
|
ChatsModelData {
|
||||||
id: chatsModel
|
id: chatsModel
|
||||||
property var ensView: QtObject {
|
|
||||||
function isEnsVerified(author) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function alias(author) {
|
|
||||||
return "some alias"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QtObject {
|
ProfileModelData {
|
||||||
id: profileModel
|
id: profileModel
|
||||||
property var contacts: QtObject {
|
|
||||||
function isContactBlocked(author) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isAdded(author) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property var profile: QtObject {
|
|
||||||
property string pubKey: "Some author"
|
|
||||||
}
|
|
||||||
|
|
||||||
function qrCode(author) {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Window {
|
Component {
|
||||||
id: window
|
id: popupComponent
|
||||||
width: 800
|
|
||||||
height: 600
|
|
||||||
DesktopComponents.ProfilePopup {
|
DesktopComponents.ProfilePopup {
|
||||||
id: propfilePopup
|
id: propfile
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Catching editClickedSignal
|
||||||
|
SignalSpy {
|
||||||
|
id: editClickedSpy
|
||||||
|
signalName: "editAvatarButtonClicked"
|
||||||
|
}
|
||||||
|
|
||||||
///////
|
///////
|
||||||
|
|
||||||
function initTestCase() {
|
function initTestCase() {
|
||||||
|
@ -62,24 +41,49 @@ TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanupTestCase() {
|
function cleanupTestCase() {
|
||||||
|
window.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_case1() {
|
function test_case1() {
|
||||||
|
var propfilePopup = popupComponent.createObject(window)
|
||||||
propfilePopup.openPopup(true, "Test user", "Some author", "", "bla bla test it bitch", "Nickname")
|
propfilePopup.openPopup(true, "Test user", "Some author", "", "bla bla test it bitch", "Nickname")
|
||||||
wait(2000) // for show how its works
|
|
||||||
mouseClick(propfilePopup.background, propfilePopup.width - 65, 20, Qt.LeftButton)
|
mouseClick(propfilePopup.background, propfilePopup.width - 65, 20, Qt.LeftButton)
|
||||||
verify(helpers.checkIfItemExists(propfilePopup.background, propfilePopup.width - 65, 20, "StatusFlatRoundButton"))
|
|
||||||
wait(2000) // for show how its works
|
|
||||||
verify(propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
verify(propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
||||||
propfilePopup.contentItem.qrCodePopup.close()
|
propfilePopup.contentItem.qrCodePopup.close()
|
||||||
verify(!propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
verify(!propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
||||||
|
propfilePopup.destroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_case2() {
|
function test_case2CurrentUser() {
|
||||||
mouseClick(propfilePopup.background, propfilePopup.width - 25, 20, Qt.LeftButton)
|
profileModel.profile.pubKey = "current-user"
|
||||||
|
var propfilePopup = popupComponent.createObject(window)
|
||||||
wait(2000)
|
wait(2000)
|
||||||
verify(!propfilePopup.visible, "Profile popup should be invisible")
|
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, "editAvatarButton")
|
||||||
|
verify(!!editbButton, "object with name \"editAvatarButton\" not found")
|
||||||
|
verify(editbButton.visible, "editAvatarButton 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_case3NotCurrentUser() {
|
||||||
|
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, "editAvatarButton")
|
||||||
|
verify(!!editbButton, "object with name \"editAvatarButton\" not found")
|
||||||
|
verify(!editbButton.visible, "editAvatarButton should be not visible")
|
||||||
|
propfilePopup.destroy()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,14 @@ DESTDIR += $${PWD}/bin
|
||||||
DEFINES += PROJECT_PATH=\"$${PWD}\"
|
DEFINES += PROJECT_PATH=\"$${PWD}\"
|
||||||
|
|
||||||
DISTFILES += \
|
DISTFILES += \
|
||||||
|
base/ChatsModelData.qml \
|
||||||
base/Helpers.qml \
|
base/Helpers.qml \
|
||||||
|
base/ProfileModelData.qml \
|
||||||
base/WindowTestCase.qml \
|
base/WindowTestCase.qml \
|
||||||
tst_Modals.qml \
|
tst_Modals.qml \
|
||||||
tst_initialtest.qml
|
tst_initialtest.qml
|
||||||
|
|
||||||
DISTFILES += $$files("StatusQ/src/*", true)
|
DISTFILES += $$files("status-desktop/ui/*", true)
|
||||||
DISTFILES += $$files("status-desktop/ui/app/*", true)
|
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
main.cpp \
|
main.cpp \
|
||||||
|
|
Loading…
Reference in New Issue