mirror of
https://github.com/luxfi/safe-wallet.git
synced 2026-10-30 15:19:21 +00:00
94 lines
3.0 KiB
JavaScript
94 lines
3.0 KiB
JavaScript
import * as constants from '../../support/constants'
|
|
import * as nfts from '../pages/nfts.pages'
|
|
import * as createTx from '../pages/create_tx.pages'
|
|
import { getSafes, CATEGORIES } from '../../support/safes/safesHandler.js'
|
|
import * as wallet from '../../support/utils/wallet.js'
|
|
import { getMockAddress } from '../../support/utils/ethers.js'
|
|
import { acceptCookies2 } from '../pages/main.page.js'
|
|
import { suspendOutreachModal } from '../pages/modals.page.js'
|
|
|
|
const multipleNFT = ['multiSend']
|
|
const multipleNFTAction = 'safeTransferFrom'
|
|
const NFTSentName = 'GTT #22'
|
|
|
|
let nftsSafes,
|
|
staticSafes = []
|
|
|
|
const walletCredentials = JSON.parse(Cypress.env('CYPRESS_WALLET_CREDENTIALS'))
|
|
const signer = walletCredentials.OWNER_4_PRIVATE_KEY
|
|
|
|
describe('[PROD] NFTs tests', () => {
|
|
before(() => {
|
|
getSafes(CATEGORIES.nfts)
|
|
.then((nfts) => {
|
|
nftsSafes = nfts
|
|
return getSafes(CATEGORIES.static)
|
|
})
|
|
.then((statics) => {
|
|
staticSafes = statics
|
|
})
|
|
})
|
|
|
|
beforeEach(() => {
|
|
cy.visit(constants.prodbaseUrl + constants.balanceNftsUrl + staticSafes.SEP_STATIC_SAFE_2)
|
|
wallet.connectSigner(signer)
|
|
acceptCookies2()
|
|
nfts.waitForNftItems(2)
|
|
suspendOutreachModal()
|
|
})
|
|
|
|
it('Verify multipls NFTs can be selected and reviewed', () => {
|
|
nfts.verifyInitialNFTData()
|
|
nfts.selectNFTs(3)
|
|
nfts.deselectNFTs([2], 3)
|
|
nfts.sendNFT()
|
|
nfts.verifyNFTModalData()
|
|
nfts.typeRecipientAddress(getMockAddress())
|
|
nfts.clikOnNextBtn()
|
|
nfts.verifyReviewModalData(2)
|
|
})
|
|
|
|
it('Verify that when 2 NFTs are selected, actions and tx details are correct in Review step', () => {
|
|
nfts.verifyInitialNFTData()
|
|
nfts.selectNFTs(2)
|
|
nfts.sendNFT()
|
|
nfts.typeRecipientAddress(getMockAddress())
|
|
nfts.clikOnNextBtn()
|
|
nfts.verifyTxDetails(multipleNFT)
|
|
nfts.verifyCountOfActions(2)
|
|
nfts.verifyActionName(0, multipleNFTAction)
|
|
nfts.verifyActionName(1, multipleNFTAction)
|
|
})
|
|
|
|
it('Verify Send button is disabled for non-owner', () => {
|
|
cy.visit(constants.prodbaseUrl + constants.balanceNftsUrl + nftsSafes.SEP_NFT_SAFE_2)
|
|
nfts.verifyInitialNFTData()
|
|
acceptCookies2()
|
|
suspendOutreachModal()
|
|
nfts.selectNFTs(1)
|
|
nfts.verifySendNFTBtnDisabled()
|
|
})
|
|
|
|
it('Verify Send NFT transaction has been created', () => {
|
|
cy.visit(constants.prodbaseUrl + constants.balanceNftsUrl + nftsSafes.SEP_NFT_SAFE_1)
|
|
wallet.connectSigner(signer)
|
|
nfts.verifyInitialNFTData()
|
|
acceptCookies2()
|
|
suspendOutreachModal()
|
|
nfts.selectNFTs(1)
|
|
nfts.sendNFT()
|
|
nfts.typeRecipientAddress(staticSafes.SEP_STATIC_SAFE_1)
|
|
createTx.changeNonce(1)
|
|
nfts.clikOnNextBtn()
|
|
createTx.clickOnNoLaterOption()
|
|
createTx.clickOnContinueSignTransactionBtn()
|
|
createTx.clickOnAcknowledgement()
|
|
createTx.clickOnSignTransactionBtn()
|
|
createTx.waitForProposeRequest()
|
|
createTx.clickViewTransaction()
|
|
createTx.verifySingleTxPage()
|
|
createTx.verifyQueueLabel()
|
|
createTx.verifyTransactionStrExists(NFTSentName)
|
|
})
|
|
})
|