Skip to content

Commit

Permalink
Merge pull request #882 from ensdomains/fet-1660
Browse files Browse the repository at this point in the history
fix primary name selection on settings page
  • Loading branch information
sugh01 authored Sep 25, 2024
2 parents 581f540 + c95d160 commit db6f267
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 10 deletions.
39 changes: 39 additions & 0 deletions e2e/specs/stateless/settings.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,42 @@ test.describe('Transactions', () => {
).toBe(1)
})
})

test.describe('Select Primary Name', () => {
test('should allow setting unmanaged name that has eth record set to address', async ({
login,
makeName,
makePageObject,
}) => {
test.slow()

const name = await makeName({
label: 'wrapped',
type: 'wrapped',
owner: 'user',
})

const transactionModal = makePageObject('TransactionModal')
const profilePage = makePageObject('ProfilePage')
await profilePage.goto(name)
await login.connect()
const settingsPage = makePageObject('SettingsPage')
const selectPrimaryNameModal = makePageObject('SelectPrimaryNameModal')
await settingsPage.goto()
await settingsPage.choosePrimaryNameButton.click()
await selectPrimaryNameModal.waitForPageLoad()
const nameWithoutSuffix = name.slice(0, -4)
await selectPrimaryNameModal.searchInput.click()
await selectPrimaryNameModal.searchInput.fill(nameWithoutSuffix)
await selectPrimaryNameModal.searchInput.press('Enter')
await selectPrimaryNameModal.waitForPageLoad()
expect(await selectPrimaryNameModal.getPrimaryNameItem(nameWithoutSuffix)).toBeVisible()
const nameItem = await selectPrimaryNameModal.getPrimaryNameItem(nameWithoutSuffix)
await nameItem.click()
await expect(selectPrimaryNameModal.nextButton).toBeEnabled()
await selectPrimaryNameModal.nextButton.click()
await transactionModal.autoComplete()
await settingsPage.goto()
await expect(settingsPage.getPrimaryNameLabel()).toHaveText(name, { timeout: 15000 })
})
})
3 changes: 3 additions & 0 deletions playwright/pageObjects/settingsPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ export class SettingsPage {

readonly removePrimaryNameButton: Locator

readonly choosePrimaryNameButton: Locator

constructor(page: Page) {
this.page = page
this.changePrimaryNameButton = this.page.getByTestId('change-primary-name-button')
this.removePrimaryNameButton = this.page.getByTestId('remove-primary-name-button')
this.choosePrimaryNameButton = this.page.getByTestId('set-primary-name-button')
}

async goto() {
Expand Down
17 changes: 7 additions & 10 deletions src/components/@atoms/NameDetailItem/NameDetailItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -161,18 +161,15 @@ export const NameDetailItem = ({
as={mode !== 'select' ? 'a' : 'div'}
data-testid={`name-item-${name}`}
className="name-detail-item"
onClick={(e: any) => {
e.preventDefault()
if (name !== INVALID_NAME && !disabled) {
handleClick()
}
}}
>
<NameItemContainer>
<AvatarWrapper
data-testid={`name-item-avatar-wrapper-${name}`}
onClick={(e) => {
e.preventDefault()

if (name !== INVALID_NAME && !disabled) {
handleClick()
}
}}
>
<AvatarWrapper data-testid={`name-item-avatar-wrapper-${name}`}>
<Avatar
placeholder={`url(${zorb})`}
label={truncatedName || name}
Expand Down

0 comments on commit db6f267

Please sign in to comment.