status-desktop/storybook/qmlTests/tests/tst_BuyReceiveBanner.qml

162 lines
5.7 KiB
QML

import QtQuick 2.15
import QtTest 1.15
import AppLayouts.Wallet.panels 1.0
Item {
id: root
width: 600
height: 400
Component {
id: buyReceiveComponent
BuyReceiveBanner {
id: banner
anchors.fill: parent
readonly property SignalSpy buyClickedSpy: SignalSpy { target: banner; signalName: "buyClicked" }
readonly property SignalSpy receiveClickedSpy: SignalSpy { target: banner; signalName: "receiveClicked" }
readonly property SignalSpy closeBuySpy: SignalSpy { target: banner; signalName: "closeBuy" }
readonly property SignalSpy closeReceiveSpy: SignalSpy { target: banner; signalName: "closeReceive" }
}
}
TestCase {
id: buyReceiveBannerTest
when: windowShown
property BuyReceiveBanner componentUnderTest
function init() {
componentUnderTest = createTemporaryObject(buyReceiveComponent, root)
}
function test_empty() {
verify(componentUnderTest.closeEnabled)
verify(componentUnderTest.buyEnabled)
verify(componentUnderTest.receiveEnabled)
verify(componentUnderTest.anyVisibleItems)
}
function test_geometry() {
compare(componentUnderTest.width, root.width)
compare(componentUnderTest.height, root.height)
}
function test_buyGeometry() {
const buyCard = findChild(componentUnderTest, "buyCard")
verify(!!buyCard)
verify(buyCard.visible)
verify(buyCard.opacity > 0)
verify(buyCard.width > 0)
verify(buyCard.height > 0)
verify(buyCard.x >= 0)
verify(buyCard.x <= buyCard.parent.width - buyCard.width)
verify(buyCard.y >= 0)
verify(buyCard.y <= buyCard.parent.height - buyCard.height)
}
function test_receiveGeometry() {
const receiveCard = findChild(componentUnderTest, "receiveCard")
verify(!!receiveCard)
verify(receiveCard.visible)
verify(receiveCard.opacity > 0)
verify(receiveCard.width > 0)
verify(receiveCard.height > 0)
verify(receiveCard.x >= 0)
verify(receiveCard.x <= receiveCard.parent.width - receiveCard.width)
verify(receiveCard.y >= 0)
verify(receiveCard.y <= receiveCard.parent.height - receiveCard.height)
}
function test_clickBuy() {
const buyCard = findChild(componentUnderTest, "buyCard")
verify(!!buyCard)
compare(componentUnderTest.buyClickedSpy.count, 0)
mouseClick(buyCard)
compare(componentUnderTest.buyClickedSpy.count, 1)
}
function test_receiveClicked() {
const receiveCard = findChild(componentUnderTest, "receiveCard")
verify(!!receiveCard)
compare(componentUnderTest.receiveClickedSpy.count, 0)
mouseClick(receiveCard)
compare(componentUnderTest.receiveClickedSpy.count, 1)
}
function test_closeBuy() {
const buyCard = findChild(componentUnderTest, "buyCard")
verify(!!buyCard)
const closeButton = findChild(buyCard, "bannerCard_closeButton")
verify(!!closeButton)
verify(closeButton.visible)
compare(componentUnderTest.closeBuySpy.count, 0)
mouseClick(closeButton)
compare(componentUnderTest.closeBuySpy.count, 1)
}
function test_closeReceive() {
const receiveCard = findChild(componentUnderTest, "receiveCard")
verify(!!receiveCard)
const closeButton = findChild(receiveCard, "bannerCard_closeButton")
verify(!!closeButton)
verify(closeButton.visible)
compare(componentUnderTest.closeReceiveSpy.count, 0)
mouseClick(closeButton)
compare(componentUnderTest.closeReceiveSpy.count, 1)
}
function test_anyVisibleItemsChanged() {
compare(componentUnderTest.anyVisibleItems, true)
compare(componentUnderTest.buyEnabled, true)
compare(componentUnderTest.receiveEnabled, true)
componentUnderTest.buyEnabled = false
compare(componentUnderTest.anyVisibleItems, true)
componentUnderTest.receiveEnabled = false
tryVerify(() => componentUnderTest.anyVisibleItems, false)
}
function test_closeDisabled() {
const buyCard = findChild(componentUnderTest, "buyCard")
verify(!!buyCard)
const closeButton = findChild(buyCard, "bannerCard_closeButton")
verify(!!closeButton)
verify(closeButton.visible)
componentUnderTest.closeEnabled = false
verify(!closeButton.visible)
const receiveCard = findChild(componentUnderTest, "receiveCard")
verify(!!receiveCard)
const receiveCloseButton = findChild(receiveCard, "bannerCard_closeButton")
verify(!!receiveCloseButton)
verify(!receiveCloseButton.visible)
}
function test_hideBuy() {
const buyCard = findChild(componentUnderTest, "buyCard")
verify(!!buyCard)
verify(buyCard.visible)
componentUnderTest.buyEnabled = false
tryVerify(() => !buyCard.visible)
}
function test_hideReceive() {
const receiveCard = findChild(componentUnderTest, "receiveCard")
verify(!!receiveCard)
verify(receiveCard.visible)
componentUnderTest.receiveEnabled = false
tryVerify(() => !receiveCard.visible)
}
}
}