@dxos/shell 0.4.10-main.f68a1ca → 0.4.10-main.fd4f2a3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -140,15 +140,13 @@ var ShellManager = class extends ScopedShellManager {
140
140
  };
141
141
  this.page.on("dialog", handleDialog);
142
142
  await this.shell.getByTestId("devices-panel.sign-out").click();
143
- await this.shell.getByTestId("sign-out.reset-device").click();
144
- this.page.off("dialog", handleDialog);
143
+ await this.shell.getByTestId("reset-storage.reset-identity-input").fill("CONFIRM");
144
+ await this.shell.getByTestId("reset-storage.reset-identity-confirm").click();
145
145
  }
146
146
  async joinNewIdentity(invitationCode) {
147
- await this.shell.getByTestId("devices-panel.sign-out").click();
148
- await this.shell.getByTestId("sign-out.join-new-identity").click();
149
- await this.shell.getByTestId("reset-identity-input").fill("CONFIRM");
150
- await this.shell.getByTestId("reset-identity-input-confirm").click();
151
- await this.shell.getByTestId("identity-chooser.join-identity").click();
147
+ await this.shell.getByTestId("devices-panel.join-new-identity").click();
148
+ await this.shell.getByTestId("join-new-identity.reset-identity-input").fill("CONFIRM");
149
+ await this.shell.getByTestId("join-new-identity.reset-identity-input-confirm").click();
152
150
  await this.inputInvitation("device", invitationCode, this.shell);
153
151
  }
154
152
  async authenticateDevice(authCode, skipDone = true) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/fixtures/identities.ts", "../../../../src/testing/fixtures/invitations.ts", "../../../../src/testing/scoped-shell-manager.ts", "../../../../src/testing/shell-manager.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { SpaceMember } from '@dxos/react-client/echo';\n\nexport const alice: SpaceMember = {\n identity: {\n identityKey: PublicKey.random(),\n profile: {\n displayName: 'Alice',\n },\n },\n presence: SpaceMember.PresenceState.ONLINE,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { Invitation, CancellableInvitationObservable } from '@dxos/react-client/invitations';\n\nexport const inviteWithState = (state: Invitation.State) =>\n new CancellableInvitationObservable({\n initialInvitation: {\n state,\n invitationId: Math.random().toString(16).slice(2),\n kind: Invitation.Kind.SPACE,\n authMethod: Invitation.AuthMethod.NONE,\n swarmKey: PublicKey.random(),\n type: Invitation.Type.INTERACTIVE,\n authCode: [Invitation.State.READY_FOR_AUTHENTICATION, Invitation.State.AUTHENTICATING].includes(state)\n ? '123456'\n : '',\n },\n subscriber: () => {},\n onCancel: async () => {},\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Locator, Page, FrameLocator } from '@playwright/test';\n\ntype Scope = Locator | FrameLocator | Page;\n\nexport class ScopedShellManager {\n page!: Page;\n\n authenticatorIsVisible(type: 'device' | 'space', scope?: Scope) {\n return (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).isVisible();\n }\n\n async invitationFailed(scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer.locator('[data-testid=invitation-rescuer-reset]:not([disabled])').waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async inputInvitation(type: 'device' | 'space', invitation: string, scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input`).fill(invitation);\n await this.page.keyboard.press('Enter');\n }\n\n async invitationInputContinue(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input-continue`).click();\n }\n\n async cancelInvitation(type: 'device' | 'space', kind: 'host' | 'guest', scope?: Scope) {\n if (kind === 'guest') {\n await (scope || this.page)\n .getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-cancel`)\n .click();\n } else {\n await (scope || this.page).getByTestId('cancel-invitation').nth(0).click();\n }\n }\n\n async readyToAuthenticate(type: 'device' | 'space', scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer\n .locator(`[data-testid=${type === 'device' ? 'halo' : 'space'}-auth-code-input]:not([disabled])`)\n .waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async authenticateInvitation(type: 'device' | 'space', authCode: string, scope?: Scope) {\n const peer = scope || this.page;\n // TODO(wittjosiah): Update ids.\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill(authCode);\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-next`).click();\n }\n\n async clearAuthCode(type: 'device' | 'space', scope?: Scope) {\n const peer = scope || this.page;\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill('');\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).focus();\n }\n\n async resetInvitation(scope?: Scope) {\n await (scope || this.page).getByTestId('invitation-rescuer-reset').click();\n }\n\n async doneInvitation(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page)\n .getByTestId(type === 'device' ? 'halo-invitation-accepted-done' : 'space-invitation-accepted-done')\n .click();\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { ConsoleMessage, Dialog, Page } from '@playwright/test';\n\nimport { sleep, Trigger } from '@dxos/async';\n\nimport { ScopedShellManager } from './scoped-shell-manager';\n\n// TODO(wittjosiah): Normalize data-testids between snake and camel case.\n\nexport class ShellManager extends ScopedShellManager {\n private _invitationCode = new Trigger<string>();\n private _authCode = new Trigger<string>();\n\n // prettier-ignore\n constructor(\n override readonly page: Page,\n readonly inIFrame = true,\n ) {\n super();\n this.page.on('console', (message) => this._onConsoleMessage(message));\n }\n\n get shell() {\n return this.inIFrame ? this.page.frameLocator('data-testid=dxos-shell') : this.page;\n }\n\n // Getters\n\n async getDisplayName(): Promise<string | null> {\n return this.shell.getByTestId('identityHeading.displayName').textContent();\n }\n\n async isCurrentSpaceViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('current-space-view').isVisible();\n }\n\n async isSpaceListViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('space-list-view').isVisible();\n }\n\n // Actions\n\n async createIdentity(name: string) {\n await this.shell.getByTestId('create-identity').click();\n await this.page.keyboard.type(name);\n await this.shell.getByTestId('create-identity-input-continue').click();\n await this.shell.getByTestId('halo-invitation-accepted-done').click();\n }\n\n async createDeviceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('devices-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async resetDevice() {\n const handleDialog = async (dialog: Dialog) => {\n if (dialog.type() === 'confirm') {\n await dialog.accept();\n }\n };\n\n this.page.on('dialog', handleDialog);\n await this.shell.getByTestId('devices-panel.sign-out').click();\n await this.shell.getByTestId('sign-out.reset-device').click();\n this.page.off('dialog', handleDialog);\n }\n\n async joinNewIdentity(invitationCode: string) {\n await this.shell.getByTestId('devices-panel.sign-out').click();\n await this.shell.getByTestId('sign-out.join-new-identity').click();\n await this.shell.getByTestId('reset-identity-input').fill('CONFIRM');\n await this.shell.getByTestId('reset-identity-input-confirm').click();\n await this.shell.getByTestId('identity-chooser.join-identity').click();\n await this.inputInvitation('device', invitationCode, this.shell);\n }\n\n async authenticateDevice(authCode: string, skipDone = true) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('device', authCode, this.shell);\n // TODO(wittjosiah): When \"signing out\" and joinging a new identity, the done step seems to be skipped.\n if (!skipDone) {\n await this.doneInvitation('device', this.shell);\n }\n }\n\n async closeShell() {\n await this.page.keyboard.press('Escape');\n }\n\n async createSpaceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('spaces-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async acceptSpaceInvitation(invitationCode: string) {\n await this.inputInvitation('space', invitationCode, this.shell);\n }\n\n async getAuthCode(): Promise<string> {\n return await this._authCode.wait();\n }\n\n async authenticate(authCode: string) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('space', authCode, this.shell);\n await this.doneInvitation('space', this.shell);\n }\n\n private async _onConsoleMessage(message: ConsoleMessage) {\n try {\n const json = JSON.parse(message.text());\n if (json.invitationCode) {\n this._invitationCode.wake(json.invitationCode);\n }\n if (json.authCode) {\n this._authCode.wake(json.authCode);\n }\n } catch {}\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["PublicKey", "SpaceMember", "alice", "identity", "identityKey", "PublicKey", "random", "profile", "displayName", "presence", "SpaceMember", "PresenceState", "ONLINE", "PublicKey", "Invitation", "CancellableInvitationObservable", "inviteWithState", "state", "CancellableInvitationObservable", "initialInvitation", "invitationId", "Math", "random", "toString", "slice", "kind", "Invitation", "Kind", "SPACE", "authMethod", "AuthMethod", "NONE", "swarmKey", "PublicKey", "type", "Type", "INTERACTIVE", "authCode", "State", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "includes", "subscriber", "onCancel", "ScopedShellManager", "authenticatorIsVisible", "type", "scope", "page", "getByTestId", "isVisible", "invitationFailed", "timeout", "peer", "locator", "waitFor", "inputInvitation", "invitation", "fill", "keyboard", "press", "invitationInputContinue", "click", "cancelInvitation", "kind", "nth", "readyToAuthenticate", "authenticateInvitation", "authCode", "clearAuthCode", "focus", "resetInvitation", "doneInvitation", "sleep", "Trigger", "ShellManager", "ScopedShellManager", "constructor", "page", "inIFrame", "_invitationCode", "Trigger", "_authCode", "on", "message", "_onConsoleMessage", "shell", "frameLocator", "getDisplayName", "getByTestId", "textContent", "isCurrentSpaceViewVisible", "isVisible", "isSpaceListViewVisible", "createIdentity", "name", "click", "keyboard", "type", "createDeviceInvitation", "wait", "resetDevice", "handleDialog", "dialog", "accept", "off", "joinNewIdentity", "invitationCode", "fill", "inputInvitation", "authenticateDevice", "authCode", "skipDone", "sleep", "authenticateInvitation", "doneInvitation", "closeShell", "press", "createSpaceInvitation", "acceptSpaceInvitation", "getAuthCode", "authenticate", "json", "JSON", "parse", "text", "wake"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { SpaceMember } from '@dxos/react-client/echo';\n\nexport const alice: SpaceMember = {\n identity: {\n identityKey: PublicKey.random(),\n profile: {\n displayName: 'Alice',\n },\n },\n presence: SpaceMember.PresenceState.ONLINE,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { Invitation, CancellableInvitationObservable } from '@dxos/react-client/invitations';\n\nexport const inviteWithState = (state: Invitation.State) =>\n new CancellableInvitationObservable({\n initialInvitation: {\n state,\n invitationId: Math.random().toString(16).slice(2),\n kind: Invitation.Kind.SPACE,\n authMethod: Invitation.AuthMethod.NONE,\n swarmKey: PublicKey.random(),\n type: Invitation.Type.INTERACTIVE,\n authCode: [Invitation.State.READY_FOR_AUTHENTICATION, Invitation.State.AUTHENTICATING].includes(state)\n ? '123456'\n : '',\n },\n subscriber: () => {},\n onCancel: async () => {},\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Locator, Page, FrameLocator } from '@playwright/test';\n\ntype Scope = Locator | FrameLocator | Page;\n\nexport class ScopedShellManager {\n page!: Page;\n\n authenticatorIsVisible(type: 'device' | 'space', scope?: Scope) {\n return (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).isVisible();\n }\n\n async invitationFailed(scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer.locator('[data-testid=invitation-rescuer-reset]:not([disabled])').waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async inputInvitation(type: 'device' | 'space', invitation: string, scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input`).fill(invitation);\n await this.page.keyboard.press('Enter');\n }\n\n async invitationInputContinue(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input-continue`).click();\n }\n\n async cancelInvitation(type: 'device' | 'space', kind: 'host' | 'guest', scope?: Scope) {\n if (kind === 'guest') {\n await (scope || this.page)\n .getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-cancel`)\n .click();\n } else {\n await (scope || this.page).getByTestId('cancel-invitation').nth(0).click();\n }\n }\n\n async readyToAuthenticate(type: 'device' | 'space', scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer\n .locator(`[data-testid=${type === 'device' ? 'halo' : 'space'}-auth-code-input]:not([disabled])`)\n .waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async authenticateInvitation(type: 'device' | 'space', authCode: string, scope?: Scope) {\n const peer = scope || this.page;\n // TODO(wittjosiah): Update ids.\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill(authCode);\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-next`).click();\n }\n\n async clearAuthCode(type: 'device' | 'space', scope?: Scope) {\n const peer = scope || this.page;\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill('');\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).focus();\n }\n\n async resetInvitation(scope?: Scope) {\n await (scope || this.page).getByTestId('invitation-rescuer-reset').click();\n }\n\n async doneInvitation(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page)\n .getByTestId(type === 'device' ? 'halo-invitation-accepted-done' : 'space-invitation-accepted-done')\n .click();\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { ConsoleMessage, Dialog, Page } from '@playwright/test';\n\nimport { sleep, Trigger } from '@dxos/async';\n\nimport { ScopedShellManager } from './scoped-shell-manager';\n\n// TODO(wittjosiah): Normalize data-testids between snake and camel case.\n\nexport class ShellManager extends ScopedShellManager {\n private _invitationCode = new Trigger<string>();\n private _authCode = new Trigger<string>();\n\n // prettier-ignore\n constructor(\n override readonly page: Page,\n readonly inIFrame = true,\n ) {\n super();\n this.page.on('console', (message) => this._onConsoleMessage(message));\n }\n\n get shell() {\n return this.inIFrame ? this.page.frameLocator('data-testid=dxos-shell') : this.page;\n }\n\n // Getters\n\n async getDisplayName(): Promise<string | null> {\n return this.shell.getByTestId('identityHeading.displayName').textContent();\n }\n\n async isCurrentSpaceViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('current-space-view').isVisible();\n }\n\n async isSpaceListViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('space-list-view').isVisible();\n }\n\n // Actions\n\n async createIdentity(name: string) {\n await this.shell.getByTestId('create-identity').click();\n await this.page.keyboard.type(name);\n await this.shell.getByTestId('create-identity-input-continue').click();\n await this.shell.getByTestId('halo-invitation-accepted-done').click();\n }\n\n async createDeviceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('devices-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async resetDevice() {\n const handleDialog = async (dialog: Dialog) => {\n if (dialog.type() === 'confirm') {\n await dialog.accept();\n }\n };\n\n this.page.on('dialog', handleDialog);\n await this.shell.getByTestId('devices-panel.sign-out').click();\n await this.shell.getByTestId('reset-storage.reset-identity-input').fill('CONFIRM');\n await this.shell.getByTestId('reset-storage.reset-identity-confirm').click();\n }\n\n async joinNewIdentity(invitationCode: string) {\n await this.shell.getByTestId('devices-panel.join-new-identity').click();\n await this.shell.getByTestId('join-new-identity.reset-identity-input').fill('CONFIRM');\n await this.shell.getByTestId('join-new-identity.reset-identity-input-confirm').click();\n await this.inputInvitation('device', invitationCode, this.shell);\n }\n\n async authenticateDevice(authCode: string, skipDone = true) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('device', authCode, this.shell);\n // TODO(wittjosiah): When \"signing out\" and joinging a new identity, the done step seems to be skipped.\n if (!skipDone) {\n await this.doneInvitation('device', this.shell);\n }\n }\n\n async closeShell() {\n await this.page.keyboard.press('Escape');\n }\n\n async createSpaceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('spaces-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async acceptSpaceInvitation(invitationCode: string) {\n await this.inputInvitation('space', invitationCode, this.shell);\n }\n\n async getAuthCode(): Promise<string> {\n return await this._authCode.wait();\n }\n\n async authenticate(authCode: string) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('space', authCode, this.shell);\n await this.doneInvitation('space', this.shell);\n }\n\n private async _onConsoleMessage(message: ConsoleMessage) {\n try {\n const json = JSON.parse(message.text());\n if (json.invitationCode) {\n this._invitationCode.wake(json.invitationCode);\n }\n if (json.authCode) {\n this._authCode.wake(json.authCode);\n }\n } catch {}\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["PublicKey", "SpaceMember", "alice", "identity", "identityKey", "PublicKey", "random", "profile", "displayName", "presence", "SpaceMember", "PresenceState", "ONLINE", "PublicKey", "Invitation", "CancellableInvitationObservable", "inviteWithState", "state", "CancellableInvitationObservable", "initialInvitation", "invitationId", "Math", "random", "toString", "slice", "kind", "Invitation", "Kind", "SPACE", "authMethod", "AuthMethod", "NONE", "swarmKey", "PublicKey", "type", "Type", "INTERACTIVE", "authCode", "State", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "includes", "subscriber", "onCancel", "ScopedShellManager", "authenticatorIsVisible", "type", "scope", "page", "getByTestId", "isVisible", "invitationFailed", "timeout", "peer", "locator", "waitFor", "inputInvitation", "invitation", "fill", "keyboard", "press", "invitationInputContinue", "click", "cancelInvitation", "kind", "nth", "readyToAuthenticate", "authenticateInvitation", "authCode", "clearAuthCode", "focus", "resetInvitation", "doneInvitation", "sleep", "Trigger", "ShellManager", "ScopedShellManager", "constructor", "page", "inIFrame", "_invitationCode", "Trigger", "_authCode", "on", "message", "_onConsoleMessage", "shell", "frameLocator", "getDisplayName", "getByTestId", "textContent", "isCurrentSpaceViewVisible", "isVisible", "isSpaceListViewVisible", "createIdentity", "name", "click", "keyboard", "type", "createDeviceInvitation", "wait", "resetDevice", "handleDialog", "dialog", "accept", "fill", "joinNewIdentity", "invitationCode", "inputInvitation", "authenticateDevice", "authCode", "skipDone", "sleep", "authenticateInvitation", "doneInvitation", "closeShell", "press", "createSpaceInvitation", "acceptSpaceInvitation", "getAuthCode", "authenticate", "json", "JSON", "parse", "text", "wake"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmReset.d.ts","sourceRoot":"","sources":["../../../../src/steps/ConfirmReset.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,KAAK,mBAAmB,GAAG,OAAO,CAAC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,YAAY,0CAA2C,iBAAiB,gBAyBpF,CAAC;AAEF,eAAO,MAAM,gBAAgB,yEAO1B,qBAAqB,gBAgDvB,CAAC"}
1
+ {"version":3,"file":"ConfirmReset.d.ts","sourceRoot":"","sources":["../../../../src/steps/ConfirmReset.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,KAAK,mBAAmB,GAAG,OAAO,CAAC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,YAAY,0CAA2C,iBAAiB,gBAyBpF,CAAC;AAEF,eAAO,MAAM,gBAAgB,yEAO1B,qBAAqB,gBAiDvB,CAAC"}
@@ -52,6 +52,7 @@ const ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onC
52
52
  const { t } = (0, react_ui_1.useTranslation)('os');
53
53
  const confirmationValue = t('confirmation value');
54
54
  const [inputValue, setInputValue] = (0, react_2.useState)('');
55
+ const testIdAffix = mode === 'join new identity' ? 'join-new-identity' : 'reset-storage';
55
56
  return (react_2.default.createElement(react_2.default.Fragment, null,
56
57
  react_2.default.createElement("div", { role: 'none', className: 'grow flex flex-col gap-2 justify-center' },
57
58
  react_2.default.createElement(react_ui_1.Message.Root, { valence: 'error' },
@@ -61,10 +62,10 @@ const ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onC
61
62
  react_2.default.createElement(react_ui_1.Message.Body, null, t('sign out chooser message'))),
62
63
  react_2.default.createElement(components_1.Input, { validationMessage, label: react_2.default.createElement(components_1.StepHeading, { className: 'text-start mlb-2' }, t(mode === 'join new identity' ? 'join new identity input label' : 'reset storage input label', {
63
64
  confirmationValue,
64
- })), disabled: disabled, "data-testid": 'reset-identity-input', placeholder: confirmationValue, onChange: ({ target: { value } }) => setInputValue(value) })),
65
+ })), disabled: disabled, "data-testid": `${testIdAffix}.reset-identity-input`, placeholder: confirmationValue, onChange: ({ target: { value } }) => setInputValue(value) })),
65
66
  react_2.default.createElement(components_1.Actions, null,
66
- onCancel && (react_2.default.createElement(components_1.Action, { disabled: disabled, onClick: onCancel, "data-testid": 'reset-identity-input-cancel' }, t('cancel label'))),
67
- onConfirm && (react_2.default.createElement(components_1.Action, { variant: 'destructive', disabled: disabled || pending || inputValue !== confirmationValue, onClick: onConfirm, "data-testid": 'reset-identity-input-confirm' }, pending ? t('reset in progress label') : t('reset device label'))))));
67
+ onCancel && (react_2.default.createElement(components_1.Action, { disabled: disabled, onClick: onCancel, "data-testid": `${testIdAffix}.reset-identity-cancel` }, t('cancel label'))),
68
+ onConfirm && (react_2.default.createElement(components_1.Action, { variant: 'destructive', disabled: disabled || pending || inputValue !== confirmationValue, onClick: onConfirm, "data-testid": `${testIdAffix}.reset-identity-confirm` }, pending ? t('reset in progress label') : t('reset device label'))))));
68
69
  };
69
70
  exports.ConfirmResetImpl = ConfirmResetImpl;
70
71
  //# sourceMappingURL=ConfirmReset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmReset.js","sourceRoot":"","sources":["../../../../src/steps/ConfirmReset.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmReset.js","sourceRoot":"","sources":["../../../../src/steps/ConfirmReset.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-manager.d.ts","sourceRoot":"","sources":["../../../../src/testing/shell-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA0B,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,qBAAa,YAAa,SAAQ,kBAAkB;aAM9B,IAAI,EAAE,IAAI;IAC5B,QAAQ,CAAC,QAAQ;IANnB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,SAAS,CAAyB;gBAItB,IAAI,EAAE,IAAI,EACnB,QAAQ,UAAO;IAM1B,IAAI,KAAK,mDAER;IAIK,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM1C,cAAc,CAAC,IAAI,EAAE,MAAM;IAO3B,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC,WAAW;IAaX,eAAe,CAAC,cAAc,EAAE,MAAM;IAStC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAO;IAUpD,UAAU;IAIV,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOxC,qBAAqB,CAAC,cAAc,EAAE,MAAM;IAI5C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,YAAY,CAAC,QAAQ,EAAE,MAAM;YAOrB,iBAAiB;CAWhC"}
1
+ {"version":3,"file":"shell-manager.d.ts","sourceRoot":"","sources":["../../../../src/testing/shell-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA0B,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,qBAAa,YAAa,SAAQ,kBAAkB;aAM9B,IAAI,EAAE,IAAI;IAC5B,QAAQ,CAAC,QAAQ;IANnB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,SAAS,CAAyB;gBAItB,IAAI,EAAE,IAAI,EACnB,QAAQ,UAAO;IAM1B,IAAI,KAAK,mDAER;IAIK,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM1C,cAAc,CAAC,IAAI,EAAE,MAAM;IAO3B,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC,WAAW;IAaX,eAAe,CAAC,cAAc,EAAE,MAAM;IAOtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAO;IAUpD,UAAU;IAIV,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOxC,qBAAqB,CAAC,cAAc,EAAE,MAAM;IAI5C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,YAAY,CAAC,QAAQ,EAAE,MAAM;YAOrB,iBAAiB;CAWhC"}
@@ -51,15 +51,13 @@ class ShellManager extends scoped_shell_manager_1.ScopedShellManager {
51
51
  };
52
52
  this.page.on('dialog', handleDialog);
53
53
  await this.shell.getByTestId('devices-panel.sign-out').click();
54
- await this.shell.getByTestId('sign-out.reset-device').click();
55
- this.page.off('dialog', handleDialog);
54
+ await this.shell.getByTestId('reset-storage.reset-identity-input').fill('CONFIRM');
55
+ await this.shell.getByTestId('reset-storage.reset-identity-confirm').click();
56
56
  }
57
57
  async joinNewIdentity(invitationCode) {
58
- await this.shell.getByTestId('devices-panel.sign-out').click();
59
- await this.shell.getByTestId('sign-out.join-new-identity').click();
60
- await this.shell.getByTestId('reset-identity-input').fill('CONFIRM');
61
- await this.shell.getByTestId('reset-identity-input-confirm').click();
62
- await this.shell.getByTestId('identity-chooser.join-identity').click();
58
+ await this.shell.getByTestId('devices-panel.join-new-identity').click();
59
+ await this.shell.getByTestId('join-new-identity.reset-identity-input').fill('CONFIRM');
60
+ await this.shell.getByTestId('join-new-identity.reset-identity-input-confirm').click();
63
61
  await this.inputInvitation('device', invitationCode, this.shell);
64
62
  }
65
63
  async authenticateDevice(authCode, skipDone = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-manager.js","sourceRoot":"","sources":["../../../../src/testing/shell-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-manager.js","sourceRoot":"","sources":["../../../../src/testing/shell-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF,uCAA6C;AAE7C,iEAA4D;AAE5D,yEAAyE;AAEzE,MAAa,YAAa,SAAQ,yCAAkB;IAIlD,kBAAkB;IAClB,YACoB,IAAU,EACnB,WAAW,IAAI;QAExB,KAAK,EAAE,CAAC;QAHU,SAAI,GAAJ,IAAI,CAAM;QACnB,aAAQ,GAAR,QAAQ,CAAO;QANlB,oBAAe,GAAG,IAAI,eAAO,EAAU,CAAC;QACxC,cAAS,GAAG,IAAI,eAAO,EAAU,CAAC;QAQxC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,UAAU;IAEV,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,CAAC;IACrE,CAAC;IAED,UAAU;IAEV,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAO,EAAU,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAO,EAAU,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxE,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,YAAY,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YAC5C,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE;gBAC/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;aACvB;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC,KAAK,EAAE,CAAC;QACvF,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,QAAQ,GAAG,IAAI;QACxD,yCAAyC;QACzC,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,uGAAuG;QACvG,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACjD;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAO,EAAU,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAO,EAAU,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvE,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,cAAsB;QAChD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,yCAAyC;QACzC,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QACrD,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAChD;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QAAC,WAAM,GAAE;IACZ,CAAC;CACF;AAlHD,oCAkHC"}
@@ -19,4 +19,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./FailReason"), exports);
21
21
  __exportStar(require("./IInvitation"), exports);
22
+ // This comment is here to bust NX cache. Remove it after the code changes.
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,gDAA8B;AAE9B,2EAA2E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/shell",
3
- "version": "0.4.10-main.f68a1ca",
3
+ "version": "0.4.10-main.fd4f2a3",
4
4
  "description": "DXOS’s OS experiences",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -42,19 +42,19 @@
42
42
  "react-qr-rounded": "^1.0.0",
43
43
  "url-join": "^5.0.0",
44
44
  "xstate": "^4.37.0",
45
- "@dxos/async": "0.4.10-main.f68a1ca",
46
- "@dxos/client-services": "0.4.10-main.f68a1ca",
47
- "@dxos/client-protocol": "0.4.10-main.f68a1ca",
48
- "@dxos/debug": "0.4.10-main.f68a1ca",
49
- "@dxos/display-name": "0.4.10-main.f68a1ca",
50
- "@dxos/invariant": "0.4.10-main.f68a1ca",
51
- "@dxos/react-client": "0.4.10-main.f68a1ca",
52
- "@dxos/react-ui-theme": "0.4.10-main.f68a1ca",
53
- "@dxos/log": "0.4.10-main.f68a1ca",
54
- "@dxos/react-ui": "0.4.10-main.f68a1ca",
55
- "@dxos/rpc-tunnel": "0.4.10-main.f68a1ca",
56
- "@dxos/util": "0.4.10-main.f68a1ca",
57
- "@dxos/react-ui-types": "0.4.10-main.f68a1ca"
45
+ "@dxos/client-protocol": "0.4.10-main.fd4f2a3",
46
+ "@dxos/client-services": "0.4.10-main.fd4f2a3",
47
+ "@dxos/async": "0.4.10-main.fd4f2a3",
48
+ "@dxos/debug": "0.4.10-main.fd4f2a3",
49
+ "@dxos/display-name": "0.4.10-main.fd4f2a3",
50
+ "@dxos/invariant": "0.4.10-main.fd4f2a3",
51
+ "@dxos/log": "0.4.10-main.fd4f2a3",
52
+ "@dxos/react-client": "0.4.10-main.fd4f2a3",
53
+ "@dxos/react-ui": "0.4.10-main.fd4f2a3",
54
+ "@dxos/react-ui-theme": "0.4.10-main.fd4f2a3",
55
+ "@dxos/react-ui-types": "0.4.10-main.fd4f2a3",
56
+ "@dxos/rpc-tunnel": "0.4.10-main.fd4f2a3",
57
+ "@dxos/util": "0.4.10-main.fd4f2a3"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@phosphor-icons/react": "^2.0.5",
@@ -63,13 +63,13 @@
63
63
  "@vitejs/plugin-react": "^4.2.1",
64
64
  "react": "^18.2.0",
65
65
  "react-dom": "^18.2.0",
66
- "vite": "^5.1.5",
66
+ "vite": "^5.1.7",
67
67
  "vite-plugin-turbosnap": "^1.0.2",
68
- "@dxos/config": "0.4.10-main.f68a1ca",
69
- "@dxos/random": "0.4.10-main.f68a1ca",
70
- "@dxos/storybook-utils": "0.4.10-main.f68a1ca",
71
- "@dxos/react-async": "0.4.10-main.f68a1ca",
72
- "@dxos/react-ui-theme": "0.4.10-main.f68a1ca"
68
+ "@dxos/config": "0.4.10-main.fd4f2a3",
69
+ "@dxos/react-ui-theme": "0.4.10-main.fd4f2a3",
70
+ "@dxos/react-async": "0.4.10-main.fd4f2a3",
71
+ "@dxos/random": "0.4.10-main.fd4f2a3",
72
+ "@dxos/storybook-utils": "0.4.10-main.fd4f2a3"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@phosphor-icons/react": "^2.0.5",
@@ -64,6 +64,7 @@ export const ConfirmResetImpl = ({
64
64
  const { t } = useTranslation('os');
65
65
  const confirmationValue = t('confirmation value');
66
66
  const [inputValue, setInputValue] = useState('');
67
+ const testIdAffix = mode === 'join new identity' ? 'join-new-identity' : 'reset-storage';
67
68
  return (
68
69
  <>
69
70
  <div role='none' className='grow flex flex-col gap-2 justify-center'>
@@ -84,14 +85,14 @@ export const ConfirmResetImpl = ({
84
85
  </StepHeading>
85
86
  }
86
87
  disabled={disabled}
87
- data-testid='reset-identity-input'
88
+ data-testid={`${testIdAffix}.reset-identity-input`}
88
89
  placeholder={confirmationValue}
89
90
  onChange={({ target: { value } }) => setInputValue(value)}
90
91
  />
91
92
  </div>
92
93
  <Actions>
93
94
  {onCancel && (
94
- <Action disabled={disabled} onClick={onCancel} data-testid='reset-identity-input-cancel'>
95
+ <Action disabled={disabled} onClick={onCancel} data-testid={`${testIdAffix}.reset-identity-cancel`}>
95
96
  {t('cancel label')}
96
97
  </Action>
97
98
  )}
@@ -100,7 +101,7 @@ export const ConfirmResetImpl = ({
100
101
  variant='destructive'
101
102
  disabled={disabled || pending || inputValue !== confirmationValue}
102
103
  onClick={onConfirm}
103
- data-testid='reset-identity-input-confirm'
104
+ data-testid={`${testIdAffix}.reset-identity-confirm`}
104
105
  >
105
106
  {pending ? t('reset in progress label') : t('reset device label')}
106
107
  </Action>
@@ -66,16 +66,14 @@ export class ShellManager extends ScopedShellManager {
66
66
 
67
67
  this.page.on('dialog', handleDialog);
68
68
  await this.shell.getByTestId('devices-panel.sign-out').click();
69
- await this.shell.getByTestId('sign-out.reset-device').click();
70
- this.page.off('dialog', handleDialog);
69
+ await this.shell.getByTestId('reset-storage.reset-identity-input').fill('CONFIRM');
70
+ await this.shell.getByTestId('reset-storage.reset-identity-confirm').click();
71
71
  }
72
72
 
73
73
  async joinNewIdentity(invitationCode: string) {
74
- await this.shell.getByTestId('devices-panel.sign-out').click();
75
- await this.shell.getByTestId('sign-out.join-new-identity').click();
76
- await this.shell.getByTestId('reset-identity-input').fill('CONFIRM');
77
- await this.shell.getByTestId('reset-identity-input-confirm').click();
78
- await this.shell.getByTestId('identity-chooser.join-identity').click();
74
+ await this.shell.getByTestId('devices-panel.join-new-identity').click();
75
+ await this.shell.getByTestId('join-new-identity.reset-identity-input').fill('CONFIRM');
76
+ await this.shell.getByTestId('join-new-identity.reset-identity-input-confirm').click();
79
77
  await this.inputInvitation('device', invitationCode, this.shell);
80
78
  }
81
79
 
@@ -4,3 +4,5 @@
4
4
 
5
5
  export * from './FailReason';
6
6
  export * from './IInvitation';
7
+
8
+ // This comment is here to bust NX cache. Remove it after the code changes.