generated from multiversx/mx-template-dapp
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added issue collection tests * Fixed CHANGELOG.md
- Loading branch information
1 parent
beea8c3
commit 80cfefe
Showing
6 changed files
with
331 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
215 changes: 215 additions & 0 deletions
215
src/pages/IssueCollection/tests/IssueCollectionFormValidation.e2e.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
import { DataTestIdsEnum } from 'localConstants/dataTestIds.enum'; | ||
import { | ||
changeInputText, | ||
expectElementToContainText, | ||
expectInputToHaveValue, | ||
getByDataTestId, | ||
loginWithKeystore | ||
} from 'utils/testUtils/puppeteer'; | ||
import { WALLET_SOURCE_ORIGIN } from '__mocks__/data'; | ||
|
||
describe('Issue Collection form validation test', () => { | ||
it('should show errors and not create collection when data is invalid', async () => { | ||
await page.goto(`${WALLET_SOURCE_ORIGIN}/logout`, { | ||
waitUntil: 'domcontentloaded' | ||
}); | ||
|
||
await loginWithKeystore(); | ||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expect(page.url()).toEqual( | ||
`${WALLET_SOURCE_ORIGIN}/issue-collection` | ||
); | ||
|
||
const createCollectionBtn = await page.waitForSelector( | ||
getByDataTestId(DataTestIdsEnum.issueCollectionBtn) | ||
); | ||
|
||
await createCollectionBtn?.click(); | ||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenNameError, | ||
text: 'Required' | ||
}); | ||
|
||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Required' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'TEST-COLLECTION' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'T' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
value: 'TEST-COLLECTION' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
value: 'T' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenNameError, | ||
text: 'Alphanumeric characters only' | ||
}); | ||
|
||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Must be between 3 - 10 characters long' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'tc' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'TEST-COLLECTION' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
value: 'tc' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
value: 'TEST-COLLECTION' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenNameError, | ||
text: 'Must be between 3 - 50 characters long' | ||
}); | ||
|
||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Alphanumeric uppercase characters only' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'QWERTYUIOPS!' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'QWERTYUIOP!' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenNameError, | ||
text: 'Alphanumeric characters only' | ||
}); | ||
|
||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Alphanumeric uppercase characters only' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'quertyuiop123' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'quert!' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Alphanumeric uppercase characters only' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'QWERTYUIOPASDFGHJKLZXCVBNMQWERTYUIOPASDFGHJKLZXCVBNM' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'QWERTYUIOPASDFGHJKLZXCVBNM' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
value: 'QWERTYUIOPASDFGHJKLZXCVBNMQWERTYUIOPASDFGHJKLZXCVBNM' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
value: 'QWERTYUIOPASDFGHJKLZXCVBNM' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenNameError, | ||
text: 'Must be between 3 - 50 characters long' | ||
}); | ||
|
||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerError, | ||
text: 'Must be between 3 - 10 characters long' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.sftTypeInput)); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'TESTCOLLECTION' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'TEST' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
value: 'TESTCOLLECTION' | ||
}); | ||
|
||
await expectInputToHaveValue({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
value: 'TEST' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
const tokenNameError = await page.$( | ||
getByDataTestId(DataTestIdsEnum.tokenNameError) | ||
); | ||
|
||
const tokenTickerError = await page.$( | ||
getByDataTestId(DataTestIdsEnum.tokenTickerError) | ||
); | ||
|
||
expect(tokenNameError).toEqual(null); | ||
expect(tokenTickerError).toEqual(null); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import { WALLET_SOURCE_ORIGIN } from '__mocks__/data'; | ||
import { DataTestIdsEnum } from 'localConstants/dataTestIds.enum'; | ||
import { | ||
changeInputText, | ||
expectElementToContainText, | ||
getByDataTestId, | ||
loginWithKeystore | ||
} from 'utils/testUtils/puppeteer'; | ||
|
||
describe('Issue NFT Collection test', () => { | ||
it('should create a new NFT collection successfully', async () => { | ||
await page.goto(`${WALLET_SOURCE_ORIGIN}/logout`, { | ||
waitUntil: 'domcontentloaded' | ||
}); | ||
|
||
await loginWithKeystore(); | ||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expect(page.url()).toEqual( | ||
`${WALLET_SOURCE_ORIGIN}/issue-collection` | ||
); | ||
|
||
const createCollectionBtn = await page.waitForSelector( | ||
getByDataTestId(DataTestIdsEnum.issueCollectionBtn) | ||
); | ||
|
||
await createCollectionBtn?.click(); | ||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'TESTCOLLECTION' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'TEST' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.transactionToastTitle, | ||
text: 'Processing transaction' | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { WALLET_SOURCE_ORIGIN } from '__mocks__/data'; | ||
import { DataTestIdsEnum } from 'localConstants/dataTestIds.enum'; | ||
import { | ||
changeInputText, | ||
expectElementToContainText, | ||
getByDataTestId, | ||
loginWithKeystore | ||
} from 'utils/testUtils/puppeteer'; | ||
|
||
describe('Issue SFT Collection test', () => { | ||
it('should create a new SFT collection successfully', async () => { | ||
await page.goto(`${WALLET_SOURCE_ORIGIN}/logout`, { | ||
waitUntil: 'domcontentloaded' | ||
}); | ||
|
||
await loginWithKeystore(); | ||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expect(page.url()).toEqual( | ||
`${WALLET_SOURCE_ORIGIN}/issue-collection` | ||
); | ||
|
||
const createCollectionBtn = await page.waitForSelector( | ||
getByDataTestId(DataTestIdsEnum.issueCollectionBtn) | ||
); | ||
|
||
await createCollectionBtn?.click(); | ||
await page.click(getByDataTestId(DataTestIdsEnum.sftTypeInput)); | ||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenNameInput, | ||
shouldOverride: true, | ||
text: 'SFTTESTCOL' | ||
}); | ||
|
||
await changeInputText({ | ||
dataTestId: DataTestIdsEnum.tokenTickerInput, | ||
shouldOverride: true, | ||
text: 'SFT' | ||
}); | ||
|
||
await page.click(getByDataTestId(DataTestIdsEnum.issueCollectionBtn)); | ||
await expectElementToContainText({ | ||
dataTestId: DataTestIdsEnum.transactionToastTitle, | ||
text: 'Processing transaction' | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters