Merge pull request #1 from status-im/test_profile_qr
Add test for qr code opening in ProfilePopup
This commit is contained in:
commit
1cecfbe315
|
@ -0,0 +1,6 @@
|
|||
[submodule "StatusQ"]
|
||||
path = StatusQ
|
||||
url = https://github.com/status-im/StatusQ
|
||||
[submodule "status-desktop"]
|
||||
path = status-desktop
|
||||
url = https://github.com/status-im/status-desktop.git
|
|
@ -0,0 +1 @@
|
|||
Subproject commit b6a6e220f732ca8c1a16d7bb69d6993c45d7a491
|
|
@ -0,0 +1,6 @@
|
|||
#include <QtQuickTest/quicktest.h>
|
||||
|
||||
#include "setup.h"
|
||||
|
||||
QUICK_TEST_MAIN_WITH_SETUP(ui-tests, Setup)
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#include "setup.h"
|
||||
|
||||
Setup::Setup(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
#ifndef SETUP_H
|
||||
#define SETUP_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QQmlEngine>
|
||||
#include <QQmlContext>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#define STR(x) #x
|
||||
|
||||
#ifdef PROJECT_PATH
|
||||
#define PWD(x) STR(x)
|
||||
#endif
|
||||
|
||||
class Setup : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Setup(QObject *parent = nullptr);
|
||||
|
||||
public slots:
|
||||
void qmlEngineAvailable(QQmlEngine *engine)
|
||||
{
|
||||
engine->rootContext()->setContextProperty("myContextProperty", QVariant(true));
|
||||
qDebug() << "StatusQ Path: " << QString(PWD(PROJECT_PATH));
|
||||
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/StatusQ/src");
|
||||
engine->addImportPath(QString(PWD(PROJECT_PATH)) + "/status-desktop/ui/imports");
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SETUP_H
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 4b73d6849025c8272c3fc882855f73a0d113ced6
|
|
@ -0,0 +1,82 @@
|
|||
import QtQuick 2.14
|
||||
import QtQuick.Window 2.14
|
||||
import QtTest 1.14
|
||||
|
||||
import "status-desktop/ui/app/AppLayouts/Chat/components" as DesktopComponents
|
||||
|
||||
|
||||
TestCase {
|
||||
name: "ProfilePopup"
|
||||
when: windowShown
|
||||
|
||||
/// TODO: add good test data
|
||||
QtObject {
|
||||
id: chatsModel
|
||||
property var ensView: QtObject {
|
||||
function isEnsVerified(author) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function alias(author) {
|
||||
return "some alias"
|
||||
}
|
||||
}
|
||||
|
||||
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 ""
|
||||
}
|
||||
}
|
||||
|
||||
Window {
|
||||
id: tstWindow
|
||||
width: 800
|
||||
height: 600
|
||||
DesktopComponents.ProfilePopup {
|
||||
id: propfilePopup
|
||||
}
|
||||
}
|
||||
///////
|
||||
|
||||
function initTestCase() {
|
||||
tstWindow.show()
|
||||
}
|
||||
|
||||
function cleanupTestCase() {
|
||||
|
||||
}
|
||||
|
||||
function test_case1() {
|
||||
propfilePopup.openPopup(true, "Test user", "Some author", "", "bla bla test it bitch", "Nickname")
|
||||
wait(2000) // for show how its works
|
||||
print(propfilePopup.contentItem, propfilePopup.width - 65)
|
||||
mouseClick(propfilePopup.background, propfilePopup.width - 65, 20, Qt.LeftButton)
|
||||
wait(2000) // for show how its works
|
||||
verify(propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
||||
propfilePopup.contentItem.qrCodePopup.close()
|
||||
verify(!propfilePopup.contentItem.qrCodePopup.visible, "Qr code should be visible")
|
||||
}
|
||||
|
||||
function test_case2() {
|
||||
mouseClick(propfilePopup.background, propfilePopup.width - 25, 20, Qt.LeftButton)
|
||||
wait(2000)
|
||||
verify(!propfilePopup.visible, "Profile popup should be invisible")
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick 2.14
|
||||
import QtTest 1.14
|
||||
|
||||
import StatusQ.Core.Theme 0.1
|
||||
|
||||
TestCase {
|
||||
name: "initialTest"
|
||||
|
||||
function initTestCase() {
|
||||
}
|
||||
|
||||
function cleanupTestCase() {
|
||||
}
|
||||
|
||||
function test_case1() {
|
||||
verify(!!Theme.palette, "Theme available");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
CONFIG += warn_on qmltestcase
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
DESTDIR += $${PWD}/bin
|
||||
|
||||
DEFINES += PROJECT_PATH=\"$${PWD}\"
|
||||
|
||||
DISTFILES += \
|
||||
tst_Modals.qml \
|
||||
tst_initialtest.qml
|
||||
|
||||
DISTFILES += $$files("StatusQ/src/*", true)
|
||||
DISTFILES += $$files("status-desktop/ui/app/*", true)
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
setup.cpp
|
||||
|
||||
HEADERS += \
|
||||
setup.h
|
Loading…
Reference in New Issue