-
Notifications
You must be signed in to change notification settings - Fork 46
Fix members component and e2e tests #1397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
romanowska
wants to merge
14
commits into
main
Choose a base branch
from
kromano/skip-test-daily
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+223
β126
Open
Changes from 13 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
84eb6c8
temporarily skip members test on daily
romanowska 6f1553c
Merge branch 'main' into kromano/skip-test-daily
romanowska ef55f37
fix and add new members component test
romanowska 30da1cb
fix members component test
romanowska 5cb4194
Merge branch 'main' into kromano/skip-test-daily
romanowska cbf68cc
fix condition and import path
romanowska eb3e8aa
fix users tab to fetch organization users
romanowska 916f2e5
fix condition when N/A should be displayed on user role
romanowska 5233f59
fix filtering and edition component tests
romanowska 9919af2
fix condition when user buttons should be displayed
romanowska d365cd3
fix eslint issue
romanowska 852863b
fix e2e tests
romanowska 7469fb2
fix eslint issue
romanowska 58eb312
address comments
romanowska File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 |
---|---|---|
|
@@ -3,51 +3,63 @@ | |
|
||
import { v4 as uuid } from 'uuid'; | ||
|
||
import { USER_ROLE, WorkspaceRole } from '../../../packages/core/src/users/users.interface'; | ||
import { USER_ROLE } from '../../../packages/core/src/users/users.interface'; | ||
import { expect } from '../../fixtures/base-test'; | ||
import { MembersPage } from '../../fixtures/page-objects/members-page'; | ||
import { test } from '../fixtures'; | ||
|
||
const expectMemberToBeVisible = async ( | ||
membersPage: MembersPage, | ||
member: { email: string; firstName: string; lastName: string; role: WorkspaceRole['role'] } | ||
member: { | ||
email: string; | ||
firstName: string; | ||
lastName: string; | ||
organizationRole: USER_ROLE.ORGANIZATION_ADMIN | USER_ROLE.ORGANIZATION_CONTRIBUTOR; | ||
} | ||
) => { | ||
const memberRow = membersPage.getMemberRow(member.email); | ||
|
||
await expect(membersPage.getEmailCell(member.email, memberRow)).toBeVisible(); | ||
await expect(membersPage.getNameCell(member.firstName, member.lastName, memberRow)).toBeVisible(); | ||
await expect(membersPage.getRoleCell(member.role, memberRow)).toBeVisible(); | ||
await expect(membersPage.getRoleCell(member.organizationRole, memberRow)).toBeVisible(); | ||
}; | ||
|
||
const expectMemberNotToBeVisible = async ( | ||
membersPage: MembersPage, | ||
member: { email: string; firstName: string; lastName: string; role: WorkspaceRole['role'] } | ||
member: { | ||
email: string; | ||
firstName: string; | ||
lastName: string; | ||
organizationRole: USER_ROLE.ORGANIZATION_ADMIN | USER_ROLE.ORGANIZATION_CONTRIBUTOR; | ||
} | ||
) => { | ||
await expect(membersPage.getMemberRow(member.email)).toBeHidden(); | ||
}; | ||
|
||
test.describe('Members management suite', () => { | ||
const workspaceAdminMember = { | ||
const organizationAdminMember = { | ||
email: `test-admin-${uuid()}@intel.com`, | ||
firstName: 'Test', | ||
lastName: 'Admin', | ||
password: 'Test1234', | ||
role: USER_ROLE.WORKSPACE_ADMIN, | ||
workspaceRole: USER_ROLE.WORKSPACE_ADMIN, | ||
organizationRole: USER_ROLE.ORGANIZATION_ADMIN, | ||
} as const; | ||
|
||
const workspaceContributorMember = { | ||
const organizationContributorMember = { | ||
email: `test-contributor-${uuid()}@intel.com`, | ||
firstName: 'Test', | ||
lastName: 'Contributor', | ||
password: 'Test1234', | ||
role: USER_ROLE.WORKSPACE_CONTRIBUTOR, | ||
workspaceRole: USER_ROLE.WORKSPACE_CONTRIBUTOR, | ||
organizationRole: USER_ROLE.ORGANIZATION_CONTRIBUTOR, | ||
} as const; | ||
|
||
test.afterEach(async ({ membersPage }, testInfo) => { | ||
if (testInfo.status !== 'passed') { | ||
console.info('Cleanup'); | ||
await membersPage.removeMember(workspaceAdminMember.email); | ||
await membersPage.removeMember(workspaceContributorMember.email); | ||
await membersPage.removeMember(organizationAdminMember.email); | ||
await membersPage.removeMember(organizationContributorMember.email); | ||
} | ||
}); | ||
|
||
|
@@ -65,63 +77,63 @@ test.describe('Members management suite', () => { | |
|
||
await membersPage.open(); | ||
|
||
await test.step('Creates new workspace admin and workspace contributor member', async () => { | ||
await membersPage.addMember(workspaceContributorMember); | ||
await test.step('Creates new organization admin and organization contributor members', async () => { | ||
await membersPage.addMember(organizationContributorMember); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberToBeVisible(membersPage, organizationContributorMember); | ||
|
||
await membersPage.addMember(workspaceAdminMember); | ||
await membersPage.addMember(organizationAdminMember); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberToBeVisible(membersPage, organizationAdminMember); | ||
}); | ||
|
||
await test.step('Filters by workspace admin and workspace contributor role', async () => { | ||
await membersPage.filterByRole(USER_ROLE.WORKSPACE_ADMIN); | ||
await test.step('Filters by organization admin and organization contributor role', async () => { | ||
await membersPage.filterByRole(USER_ROLE.ORGANIZATION_ADMIN); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberNotToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberToBeVisible(membersPage, organizationAdminMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationContributorMember); | ||
|
||
await membersPage.filterByRole(USER_ROLE.WORKSPACE_CONTRIBUTOR); | ||
await membersPage.filterByRole(USER_ROLE.ORGANIZATION_CONTRIBUTOR); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberNotToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberToBeVisible(membersPage, organizationContributorMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationAdminMember); | ||
|
||
await membersPage.filterByRole('All role'); | ||
await expectMemberToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberToBeVisible(membersPage, organizationAdminMember); | ||
await expectMemberToBeVisible(membersPage, organizationContributorMember); | ||
}); | ||
|
||
await test.step("Filters by member's name and email", async () => { | ||
await membersPage.filterByNameOrEmail(workspaceAdminMember.email); | ||
await membersPage.filterByNameOrEmail(organizationAdminMember.email); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberNotToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberToBeVisible(membersPage, organizationAdminMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationContributorMember); | ||
|
||
await membersPage.filterByNameOrEmail(workspaceContributorMember.lastName); | ||
await membersPage.filterByNameOrEmail(organizationContributorMember.lastName); | ||
|
||
await expectMemberToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberNotToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberToBeVisible(membersPage, organizationContributorMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationAdminMember); | ||
|
||
await membersPage.resetSearchFilter(); | ||
}); | ||
|
||
await test.step('Edits workspace admin and workspace contributor member', async () => { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this test and the next one be renamed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, updated :) |
||
const updatedWorkspaceAdminMember = { | ||
...workspaceAdminMember, | ||
...organizationAdminMember, | ||
firstName: 'Updated', | ||
lastName: 'Old Admin', | ||
role: USER_ROLE.WORKSPACE_CONTRIBUTOR, | ||
role: USER_ROLE.ORGANIZATION_CONTRIBUTOR, | ||
} as const; | ||
|
||
await membersPage.editMember(updatedWorkspaceAdminMember); | ||
|
||
await expectMemberToBeVisible(membersPage, updatedWorkspaceAdminMember); | ||
|
||
const updatedWorkspaceContributorMember = { | ||
...workspaceContributorMember, | ||
...organizationContributorMember, | ||
firstName: 'Updated', | ||
lastName: 'Old Contributor', | ||
role: USER_ROLE.WORKSPACE_ADMIN, | ||
role: USER_ROLE.ORGANIZATION_ADMIN, | ||
} as const; | ||
|
||
await membersPage.editMember(updatedWorkspaceContributorMember); | ||
|
@@ -130,13 +142,13 @@ test.describe('Members management suite', () => { | |
}); | ||
|
||
await test.step('Removes workspace admin and workspace contributor member', async () => { | ||
await membersPage.removeMember(workspaceContributorMember.email); | ||
await membersPage.removeMember(organizationContributorMember.email); | ||
|
||
await expectMemberNotToBeVisible(membersPage, workspaceContributorMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationContributorMember); | ||
|
||
await membersPage.removeMember(workspaceAdminMember.email); | ||
await membersPage.removeMember(organizationAdminMember.email); | ||
|
||
await expectMemberNotToBeVisible(membersPage, workspaceAdminMember); | ||
await expectMemberNotToBeVisible(membersPage, organizationAdminMember); | ||
}); | ||
}); | ||
}); |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The user should not have the
ORGNIZATION_ADMIN
role and any other role simultaneously.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, updated