Merge pull request #216 from dennis00010011b/e2e-contract
e2e import contract changed behavior button Import
This commit is contained in:
commit
6e3c308bb8
|
@ -224,6 +224,7 @@ module.exports = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
importAccounts: {
|
importAccounts: {
|
||||||
|
iconCopy: By.className('clipboard cursor-pointer'),
|
||||||
warning: By.className('error'),
|
warning: By.className('error'),
|
||||||
error: By.css('span.error'),
|
error: By.css('span.error'),
|
||||||
selectArrow: By.className('Select-arrow-zone'),
|
selectArrow: By.className('Select-arrow-zone'),
|
||||||
|
|
|
@ -281,25 +281,12 @@ describe('Metamask popup page', async function () {
|
||||||
it("Button 'Import' is displayed", async function () {
|
it("Button 'Import' is displayed", async function () {
|
||||||
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
||||||
assert.notEqual(button, false, "button 'Import' isn't displayed")
|
assert.notEqual(button, false, "button 'Import' isn't displayed")
|
||||||
await button.click()
|
assert.equal(await button.getText(), 'Import', 'wrong name of button')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Error message if incorrect address', async function () {
|
it("Button 'Import' is disabled if incorrect address", async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.error)
|
|
||||||
assert.notEqual(field, false, 'no error message')
|
|
||||||
assert.equal(await field.getText(), 'Invalid contract address', 'incorrect text')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('No error if contract address is correct', async function () {
|
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.contractAddress)
|
|
||||||
assert.notEqual(field, false, "field 'Address' isn't displayed")
|
|
||||||
await field.sendKeys(poaContract)
|
|
||||||
})
|
|
||||||
|
|
||||||
it("Click button 'Import' ", async function () {
|
|
||||||
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
||||||
await button.click()
|
assert.equal(await button.isEnabled(), false, 'button enabled')
|
||||||
assert.notEqual(button, false, "button 'Import' isn't displayed")
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("Field 'ABI' is displayed", async function () {
|
it("Field 'ABI' is displayed", async function () {
|
||||||
|
@ -307,6 +294,11 @@ describe('Metamask popup page', async function () {
|
||||||
assert.notEqual(field, false, "field 'ABI' isn't displayed")
|
assert.notEqual(field, false, "field 'ABI' isn't displayed")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('icon copy is displayed for ABI ', async function () {
|
||||||
|
const field = await waitUntilShowUp(screens.importAccounts.iconCopy)
|
||||||
|
assert.notEqual(field, false, "icon copy isn't displayed")
|
||||||
|
})
|
||||||
|
|
||||||
it("Field 'ABI' is empty if contract isn't verified in current network", async function () {
|
it("Field 'ABI' is empty if contract isn't verified in current network", async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
||||||
assert.equal(await field.getText(), '', "field 'ABI' isn't displayed")
|
assert.equal(await field.getText(), '', "field 'ABI' isn't displayed")
|
||||||
|
@ -316,29 +308,29 @@ describe('Metamask popup page', async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.contractAddress)
|
const field = await waitUntilShowUp(screens.importAccounts.contractAddress)
|
||||||
await clearField(field, 100)
|
await clearField(field, 100)
|
||||||
await field.sendKeys(notContractAddress)
|
await field.sendKeys(notContractAddress)
|
||||||
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
|
||||||
await button.click()
|
|
||||||
await waitUntilShowUp(elements.loader, 60)
|
|
||||||
await waitUntilDisappear(elements.loader, 60)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it.skip('Error message if not contract address', async function () {
|
it("Button 'Import' is disabled if not contract address", async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.error)
|
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
||||||
assert.notEqual(field, false, 'no error message')
|
assert.equal(await button.isEnabled(), false, 'button enabled')
|
||||||
assert.equal(await field.getText(), 'This is not a contract address', 'incorrect text')
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("Fill 'Address' with valid contract , POA core", async function () {
|
it("Fill 'Address' with valid contract , POA core", async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.contractAddress)
|
const field = await waitUntilShowUp(screens.importAccounts.contractAddress)
|
||||||
await clearField(field, 100)
|
await clearField(field, 100)
|
||||||
await field.sendKeys(poaContract)
|
await field.sendKeys(poaContract)
|
||||||
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
|
||||||
await button.click()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it.skip('Correct ABI fetched ', async function () {
|
it("Button 'Import' is enabled if contract address is correct", async function () {
|
||||||
|
await delay(5000)
|
||||||
|
const button = await waitUntilShowUp(screens.importAccounts.buttonImport)
|
||||||
|
assert.equal(await button.isEnabled(), true, 'button enabled')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('ABI is fetched ', async function () {
|
||||||
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
||||||
assert.equal(await field.getText(), elements.poaABI, "ABI isn't fetched")
|
const abi = await field.getText()
|
||||||
|
assert.equal(abi.length, 2800, "ABI isn't fetched")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("Click button 'Import', main screen opens", async function () {
|
it("Click button 'Import', main screen opens", async function () {
|
||||||
|
@ -935,8 +927,8 @@ describe('Metamask popup page', async function () {
|
||||||
console.log('allHandles.length ' + allHandles.length)
|
console.log('allHandles.length ' + allHandles.length)
|
||||||
assert.equal(allHandles.length, 2, 'etherscan wasn\'t opened')
|
assert.equal(allHandles.length, 2, 'etherscan wasn\'t opened')
|
||||||
await switchToLastPage()
|
await switchToLastPage()
|
||||||
|
await delay(2000)
|
||||||
const title = await waitUntilCurrentUrl()
|
const title = await waitUntilCurrentUrl()
|
||||||
|
|
||||||
console.log(title)
|
console.log(title)
|
||||||
assert.equal(title.includes('https://etherscan.io/token/'), true, 'etherscan wasn\'t opened')
|
assert.equal(title.includes('https://etherscan.io/token/'), true, 'etherscan wasn\'t opened')
|
||||||
await switchToFirstPage()
|
await switchToFirstPage()
|
||||||
|
|
Loading…
Reference in New Issue