-
Notifications
You must be signed in to change notification settings - Fork 130
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add test cases for getstarted and step1
- Loading branch information
Showing
5 changed files
with
139 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<div class='identity-box-heading' data-test-blocked-heading>Status Blocked</div> | ||
<div class='identity-box-desc' data-test-blocked-desc>The system failed to link | ||
your profile service with the Identity service, | ||
<span class='identity-box-desc-bold'>Please try again!</span></div> | ||
<button | ||
class='identity-box-button' | ||
data-test-blocked-button type="button" {{on 'click' (fn @setState 'step1')}} | ||
>Retry</button> |
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,6 @@ | ||
<div class='identity-box-heading' data-test-verified-heading>Verified</div> | ||
<div class='identity-box-desc' data-test-verified-desc><span | ||
class='identity-box-desc-bold' | ||
>Congratulations!!!</span> | ||
You did it, go ahead and tell in the community that you verified your profile | ||
service.</div> |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
import { module, test } from 'qunit'; | ||
import { setupRenderingTest } from 'website-www/tests/helpers'; | ||
import { render, click } from '@ember/test-helpers'; | ||
import { hbs } from 'ember-cli-htmlbars'; | ||
|
||
module('Integration | Component | identity/get-started', function (hooks) { | ||
setupRenderingTest(hooks); | ||
|
||
test('it renders the get started component correctly', async function (assert) { | ||
this.set('setState', () => {}); | ||
await render(hbs` | ||
<Identity::GetStarted @setState={{this.setState}}/> | ||
`); | ||
|
||
assert.dom('[data-test-getStarted-heading]').exists(); | ||
assert | ||
.dom('[data-test-getStarted-heading]') | ||
.hasText('Qualification Criteria'); | ||
|
||
assert.dom('[data-test-getStarted-desc]').exists(); | ||
assert | ||
.dom('[data-test-getStarted-desc]') | ||
.containsText('To update your profile details'); | ||
assert | ||
.dom('[data-test-getStarted-desc] a') | ||
.hasAttribute( | ||
'href', | ||
'https://github.com/Real-Dev-Squad/sample-profile-service', | ||
); | ||
|
||
assert.dom('[data-test-getStarted-button]').exists(); | ||
assert.dom('[data-test-getStarted-button]').hasText('Get Started'); | ||
}); | ||
|
||
test('clicking get started button triggers setState action with step1', async function (assert) { | ||
assert.expect(1); | ||
|
||
this.set('setState', (state) => { | ||
assert.strictEqual( | ||
state, | ||
'step1', | ||
'setState action is called with step1', | ||
); | ||
}); | ||
|
||
await render(hbs` | ||
<Identity::GetStarted @setState={{this.setState}}/> | ||
`); | ||
|
||
await click('[data-test-getStarted-button]'); | ||
}); | ||
}); |
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,71 @@ | ||
import { module, test } from 'qunit'; | ||
import { setupRenderingTest } from 'website-www/tests/helpers'; | ||
import { render, click, waitFor } from '@ember/test-helpers'; | ||
import { hbs } from 'ember-cli-htmlbars'; | ||
|
||
module('Integration | Component | identity/step1', function (hooks) { | ||
setupRenderingTest(hooks); | ||
|
||
test('it renders the initial state correctly', async function (assert) { | ||
this.set('setState', () => {}); | ||
await render(hbs`<Identity::Step1 @setState={{this.setState}}/>`); | ||
|
||
assert | ||
.dom('[data-test-step1-heading]') | ||
.hasText('Step 1: Chaincode Generation'); | ||
assert.dom('[data-test-step1-desc]').exists(); | ||
assert.dom('[data-test-step1-button]').hasText('Generate Chaincode'); | ||
assert.dom('[data-test-step1-next-button]').doesNotExist(); | ||
}); | ||
|
||
test('it handles chaincode generation', async function (assert) { | ||
this.set('setState', () => {}); | ||
await render(hbs`<Identity::Step1 @setState={{this.setState}}/>`); | ||
|
||
await click('[data-test-step1-button]'); | ||
await waitFor('.identity-chaincode-box'); | ||
|
||
assert.dom('[data-test-step1-chaincode]').hasText('********************'); | ||
assert.dom('[data-test-step1-next-button]').exists(); | ||
assert.dom('[data-test-step1-button]').doesNotExist(); | ||
}); | ||
|
||
test('it toggles chaincode visibility', async function (assert) { | ||
this.set('setState', () => {}); | ||
await render(hbs`<Identity::Step1 @setState={{this.setState}}/>`); | ||
|
||
await click('[data-test-step1-button]'); | ||
await waitFor('.identity-chaincode-box'); | ||
|
||
const initialText = await document | ||
.querySelector('[data-test-step1-chaincode]') | ||
.textContent.trim(); | ||
await click('[data-test-step1-eye]'); | ||
const visibleText = await document | ||
.querySelector('[data-test-step1-chaincode]') | ||
.textContent.trim(); | ||
|
||
assert.notEqual( | ||
initialText, | ||
visibleText, | ||
'Chaincode visibility should toggle', | ||
); | ||
assert.notEqual( | ||
visibleText, | ||
'********************', | ||
'Chaincode should be visible', | ||
); | ||
}); | ||
|
||
test('it handles next button click', async function (assert) { | ||
let nextClicked = false; | ||
this.set('setState', () => (nextClicked = true)); | ||
await render(hbs`<Identity::Step1 @setState={{this.setState}}/>`); | ||
|
||
await click('[data-test-step1-button]'); | ||
await waitFor('[data-test-step1-next-button]'); | ||
await click('[data-test-step1-next-button]'); | ||
|
||
assert.true(nextClicked, 'Next button should trigger setState'); | ||
}); | ||
}); |