Skip to content

[HOLD][SAML Configuration][Release 4] Add Claim Domain Flow #72895

@NikkiWines

Description

@NikkiWines

Part of the Bring SAML Configuration to NewDot project

Main issue: #69195
Doc section: Release 4
Project: [#whatsnext] #migrate

🚨 Note: This issue is held on the following backend changes: https://github.com/Expensify/Expensify/issues/558395

Feature Description

In this issue, we're adding the ability to claim a domain from the Workspaces page. When a user doesn't have any domains and they navigate to the Workspaces page they'll see a new Enhanced Security row with an Enable button

Image

Additionally in the top left, we'll have the option to Add domain from the New button (renamed from New Workspace)

Image

When the user clicks on either the New Domain or Enable button we'll surface an Add Domain RHP

Image

When the user tries to add a domain we'll show either the error view or success depending on the response from the API :

Image

If the user's account is not verified when they go to add a domain, we'll surface the validate account RHP so that they can validate their account inline before proceeding to add a domain

Image

pending If the user attempts to add a domain that is already claimed, we'll surface the following view:

Manual Test Steps

Pre-testing steps: Log in to an Expensify account that:

  • is unvalidated

  • Has a private email as a contact method

  • Has not claimed the domain associated with their private email

  • Navigate to the “Workspaces” tab

    • Verify: You should see a "Domains" section below the list of workspaces.
    • Verify: This section contains an item label "Enhanced Security" with an “Enable” button
  • Click on the “New” button in the top right corner

    • Verify: You have the option to add a new workspace or a new domain
  • Select “New Domain”

    • Verify: This brings up RHP with “Add domain” and a text field for your domain name
  • Enter an unclaimed domain name for which you don’t have a contact method and click “Continue”

    • Verify: That you see an error message indicating that you cannot add that domain
  • Enter a domain name for another claimed domain

    • Verify: You see the “Access restricted” view and a button that says “Verify”
  • Click “Verify”

    • Verify: It brings up the “Verify your domain” RHP with a verification code for the domain
  • Exit out and click “New” in the top right corner

  • Select “New Domain”

  • Enter your domain name and click “Continue”

    • Verify: That you are prompted to enter a magic code to verify your account
  • Enter the magic code for your account and click “Verify”

    • Verify: You land on the success RHP, indicating your domain was successfully added
  • Click “Configure”

    • Verify: That the “Verify domain” page RHP is opened
  • Exit out of the flow and back to the Workspaces page

    • Verify: You see your newly added domain
    • Verify: Your domain has an “unverified” badge
  • Click on the domain row

  • Open the SAML tab if it’s not already selected

    • Verify: You see the option to verify your domain from the SAML page
  • Click “Verify”

    • Verify: It opens up the “Verify your domain” RHP, and a verification code is displayed
  • Validate your domain following the help site instructions (link) and click “Verify domain”

    • Verify: You’re see the confirmation RHP page for verifying your domain
    • Verify: you see the full SAML configuration page
  • Navigate back to the workspaces page

    • Verify: The badge next to the domain updates to “verified”

Offline Test:

  • Go offline
  • Navigate to the “Workspaces” tab
  • Click on the “New” button in the top right corner
  • Click on the “Add domain” button
    • Verify: The RHP opens to the Add Domain page
    • Verify: The “Add Domain” button is inactionable
  • Navigate back to the “Workspaces” tab
  • Select an unverified domain from the list
  • Open the SAML tab if it’s not already selected
  • Click on “Verify”
    • Verify: The RHP opens to the Verify Domain page
    • Verify: There is a spinner in place of the validateCode
    • Verify: The “Verify” button is inactionable, and an indicator is displayed saying you’re offline

Automated Tests

Metadata

Metadata

Labels

Type

No type

Projects

Status

No status

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions