import QtQuick 2.15 import QtTest 1.15 import QtQml 2.15 import AppLayouts.Wallet.controls 1.0 import StatusQ.Core.Theme 0.1 import utils 1.0 Item { id: root width: 600 height: 400 Component { id: testComponent RecipientViewDelegate { } } TestCase { name: "RecipientViewDelegate" when: windowShown function test_empty() { const delegate = createTemporaryObject(testComponent, root) verify(delegate) compare(delegate.name, "") compare(delegate.address, "") compare(delegate.emoji, "") compare(delegate.walletColor, "") compare(delegate.ens, "") compare(delegate.title, "") compare(delegate.subTitle, "") compare(delegate.statusListItemIcon.item.identiconText.text, "") } function test_onlyAddress() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40" }) verify(delegate) compare(delegate.address, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.title, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.subTitle, "") compare(delegate.statusListItemIcon.item.identiconText.text, "0x") compare(delegate.statusListItemIcon.item.identiconText.color, "#000000", "Default address-only color") } function test_titleAndSubtitle() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40", name: "Adam" }) verify(delegate) compare(delegate.name, "Adam") compare(delegate.address, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.ens, "") compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.statusListItemIcon.item.identiconText.text, "A") delegate.name = "Adam Smith" compare(delegate.name, "Adam Smith") compare(delegate.title, "Adam Smith") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.statusListItemIcon.item.identiconText.text, "AS") delegate.ens = "balista.eth" compare(delegate.ens, "balista.eth") compare(delegate.name, "Adam Smith") compare(delegate.title, "Adam Smith") compare(delegate.subTitle, "balista.eth") compare(delegate.statusListItemIcon.item.identiconText.text, "AS") } function test_emoji() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40", name: "Adam", }) verify(delegate) compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.emoji, "") compare(delegate.statusListItemIcon.item.emoji, "") delegate.emoji = "😋" compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.emoji, "😋") compare(delegate.statusListItemIcon.item.emoji, "😋") } function test_color() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40", name: "Adam", }) verify(delegate) compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.asset.color, "#000000") compare(delegate.statusListItemIcon.item.identiconText.color, "#000000") delegate.walletColor = "#ff0000" compare(delegate.asset.color, "#ff0000") compare(delegate.statusListItemIcon.item.identiconText.color, "#ff0000") delegate.walletColorId = Constants.walletAccountColors.purple compare(delegate.asset.color, "#ff0000", "Wallet color takes priority over colorId") compare(delegate.statusListItemIcon.item.identiconText.color, "#ff0000") delegate.walletColor = "" compare(delegate.asset.color, Theme.palette.customisationColors.purple) compare(delegate.statusListItemIcon.item.identiconText.color, Theme.palette.customisationColors.purple) delegate.name = "" compare(delegate.asset.color, Theme.palette.directColor1) } function test_hover() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40", }) verify(delegate) compare(delegate.sensor.containsMouse, false) compare(delegate.title, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.subTitle, "") mouseMove(delegate, 10, 10) compare(delegate.sensor.containsMouse, true) compare(delegate.title, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.subTitle, "") mouseMove(delegate, -10, -10) compare(delegate.sensor.containsMouse, false) } function test_useAddressAsLetterIdenticon() { const delegate = createTemporaryObject(testComponent, root, { address: "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40", name: "Adam", walletColor: "#ff0000" }) verify(delegate) verify(!delegate.useAddressAsLetterIdenticon, "Default is disabled") compare(delegate.statusListItemIcon.name, "Adam") compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.asset.color, "#ff0000") delegate.useAddressAsLetterIdenticon = true compare(delegate.statusListItemIcon.name, "0xC5E457F6b85EaE1Fc807081Cc325E482268e4e40") compare(delegate.title, "Adam") compare(delegate.subTitle, "0xC5E4…4e40") compare(delegate.asset.color, Theme.palette.directColor1) } } }