Candidate rename (#2027)

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov 2022-06-07 19:49:13 +06:00 committed by GitHub
parent 3c2587f58c
commit 6c739dc935
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 100 additions and 109 deletions

View File

@ -2,6 +2,9 @@
## 0.6.25 (upcoming)
HR:
- Rename Candidate to Talent
## 0.6.24
Platform:

View File

@ -72,11 +72,11 @@ export class TVacancy extends TSpaceWithStates implements Vacancy {
}
@Model(recruit.class.Candidates, core.class.Space)
@UX(recruit.string.CandidatePools, recruit.icon.RecruitApplication)
@UX(recruit.string.TalentPools, recruit.icon.RecruitApplication)
export class TCandidates extends TSpace implements Candidates {}
@Mixin(recruit.mixin.Candidate, contact.class.Person)
@UX(recruit.string.Candidate, recruit.icon.RecruitApplication, undefined, 'name')
@UX(recruit.string.Talent, recruit.icon.RecruitApplication, undefined, 'name')
export class TCandidate extends TPerson implements Candidate {
@Prop(TypeString(), recruit.string.Title)
@Index(IndexKind.FullText)
@ -106,7 +106,7 @@ export class TCandidate extends TPerson implements Candidate {
@UX(recruit.string.Application, recruit.icon.Application, recruit.string.ApplicationShort, 'number')
export class TApplicant extends TTask implements Applicant {
// We need to declare, to provide property with label
@Prop(TypeRef(recruit.mixin.Candidate), recruit.string.Candidate)
@Prop(TypeRef(recruit.mixin.Candidate), recruit.string.Talent)
declare attachedTo: Ref<Candidate>
// We need to declare, to provide property with label
@ -147,9 +147,9 @@ export function createModel (builder: Builder): void {
builder.mixin(recruit.class.Vacancy, core.class.Class, setting.mixin.Editable, {})
const vacanciesId = 'vacancies'
const candidatesId = 'candidates'
const talentsId = 'talents'
const skillsId = 'skills'
const applicantsId = 'applicants'
const candidatesId = 'candidates'
const archiveId = 'archive'
const assignedId = 'assigned'
@ -172,7 +172,7 @@ export function createModel (builder: Builder): void {
position: 'vacancy'
},
{
id: applicantsId,
id: candidatesId,
component: workbench.component.SpecialView,
icon: recruit.icon.Application,
label: recruit.string.Applications,
@ -190,15 +190,15 @@ export function createModel (builder: Builder): void {
position: 'vacancy'
},
{
id: candidatesId,
id: talentsId,
component: workbench.component.SpecialView,
icon: contact.icon.Person,
label: recruit.string.Candidates,
label: recruit.string.Talents,
componentProps: {
_class: recruit.mixin.Candidate,
icon: contact.icon.Person,
label: recruit.string.Candidates,
createLabel: recruit.string.CandidateCreateLabel,
label: recruit.string.Talents,
createLabel: recruit.string.TalentCreateLabel,
createComponent: recruit.component.CreateCandidate
},
position: 'vacancy'
@ -270,7 +270,7 @@ export function createModel (builder: Builder): void {
{
// key: '$lookup.skills', // Required, since presenter require list of tag references or '' and TagsPopupPresenter
key: '',
presenter: tags.component.TagsPresenter, // tags.component.TagsPresenter,
presenter: tags.component.TagsPresenter,
label: recruit.string.SkillsLabel,
sortingKey: 'skills',
props: {
@ -413,7 +413,7 @@ export function createModel (builder: Builder): void {
component: recruit.component.CreateCandidate,
element: 'top'
},
label: recruit.string.CreateCandidate,
label: recruit.string.CreateTalent,
icon: recruit.icon.Create,
keyBinding: ['c'],
input: 'none',
@ -551,18 +551,18 @@ export function createModel (builder: Builder): void {
})
}
createGotoSpecialAction(builder, candidatesId, 'g->e', recruit.string.GotoCandidates)
createGotoSpecialAction(builder, talentsId, 'g->e', recruit.string.GotoTalents)
createGotoSpecialAction(builder, vacanciesId, 'g->v', recruit.string.GotoVacancies)
createGotoSpecialAction(builder, skillsId, 'g->s', recruit.string.GotoSkills)
createGotoSpecialAction(builder, assignedId, 'g->h', recruit.string.GotoAssigned)
createGotoSpecialAction(builder, applicantsId, 'g->a', recruit.string.GotoApplicants)
createGotoSpecialAction(builder, candidatesId, 'g->a', recruit.string.GotoApplicants)
createAction(builder, {
action: workbench.actionImpl.Navigate,
actionProps: {
mode: 'app',
application: recruit.app.Recruit as Ref<Application>,
special: candidatesId
special: talentsId
},
label: recruit.string.GotoRecruitApplication,
icon: view.icon.ArrowRight,

View File

@ -38,7 +38,7 @@ export default mergeIds(recruitId, recruit, {
ApplicationShort: '' as IntlString,
ApplicationsShort: '' as IntlString,
RecruitApplication: '' as IntlString,
CandidatePools: '' as IntlString,
TalentPools: '' as IntlString,
SearchApplication: '' as IntlString,
Application: '' as IntlString,
AssignedRecruiter: '' as IntlString,
@ -47,7 +47,7 @@ export default mergeIds(recruitId, recruit, {
Source: '' as IntlString,
ManageVacancyStatuses: '' as IntlString,
EditVacancy: '' as IntlString,
GotoCandidates: '' as IntlString,
GotoTalents: '' as IntlString,
GotoVacancies: '' as IntlString,
GotoSkills: '' as IntlString,
GotoAssigned: '' as IntlString,

View File

@ -14,7 +14,7 @@ import recruit from './plugin'
@UX(recruit.string.Review, recruit.icon.Review, recruit.string.ReviewShortLabel, 'number')
export class TReview extends TEvent implements Review {
// We need to declare, to provide property with label
@Prop(TypeRef(recruit.mixin.Candidate), recruit.string.Candidate)
@Prop(TypeRef(recruit.mixin.Candidate), recruit.string.Talent)
declare attachedTo: Ref<Candidate>
@Prop(TypeString(), recruit.string.Review)

View File

@ -2,8 +2,8 @@
"string": {
"RecruitApplication": "Recruiting",
"Vacancies": "Vacancies",
"CandidatePools": "Candidates pool",
"Candidates": "Candidates",
"TalentPools": "Talents pool",
"Talents": "Talents",
"VacancyName": "Vacancy Name *",
"VacancyDescription": "Vacancy Description",
"CreateVacancy": "Create Vacancy",
@ -13,13 +13,13 @@
"VacancyPlaceholder": "Software Engineer",
"MakePrivateDescription": "Only members can see it",
"CreateAnApplication": "New Application",
"NoApplicationsForCandidate": "There are no applications for this candidate.",
"NoApplicationsForTalent": "There are no applications for this talent.",
"CreateApplication": "New Application",
"ApplicationCreateLabel": "Application",
"SelectVacancy": "Select vacancy",
"Candidate": "Candidate",
"CandidateCreateLabel": "Candidate",
"CreateCandidate": "New Candidate",
"Talent": "Talent",
"TalentCreateLabel": "Talent",
"CreateTalent": "New Talent",
"AssignRecruiter": "Assign recruiter",
"UnAssignRecruiter": "Unassign recruiter",
"UnAssignCompany": "Unassign Company",
@ -79,7 +79,7 @@
"ReviewCategoryTitle":"Category",
"Verdict": "Verdict",
"OpinionSave": "Save",
"CandidateReviews": "All Candidate Reviews",
"TalentReviews": "All Talent Reviews",
"NoReviewForCandidate": "No reviews",
"CreateAnReview": "Create review",
"CreateOpinion": "Create opinion",
@ -89,7 +89,7 @@
"PersonsLabel": "{name}",
"AddDescription": "Add description",
"NumberSkills": "{count, plural, =0 {no skills} =1 {1 skill} other {# skills}}",
"GotoCandidates": "Go to Candidates",
"GotoTalents": "Go to Talents",
"GotoVacancies": "Go to Vacancies",
"GotoSkills": "Go to Skills",
"GotoAssigned": "Go to my Assigned",
@ -98,7 +98,7 @@
"AddDropHere": "Add or drop resume"
},
"status": {
"CandidateRequired": "Please select candidate",
"TalentRequired": "Please select talent",
"VacancyRequired": "Please select vacancy",
"ReviewCategoryRequired": "Please select review category"
}

View File

@ -2,8 +2,8 @@
"string": {
"RecruitApplication": "Рекрутинг",
"Vacancies": "Вакансии",
"CandidatePools": "Пул кандидатов",
"Candidates": "Кандидаты",
"TalentPools": "Пул талантов",
"Talents": "Таланты",
"VacancyName": "Название вакансии *",
"VacancyDescription": "Описание вакансии",
"CreateVacancy": "Создать вакансию",
@ -12,19 +12,19 @@
"VacancyPlaceholder": "Разработчик",
"MakePrivate": "Сделать личным",
"MakePrivateDescription": "Только пользователи могут видеть это",
"CreateAnApplication": "Новый Претендент",
"NoApplicationsForCandidate": "Нет претендентов для данного кандидата.",
"CreateApplication": "Новый Претендент",
"CreateAnApplication": "Новый Кандидат",
"NoApplicationsForTalent": "Нет кандидатов для данного таланта.",
"CreateApplication": "Новый Кандидат",
"SelectVacancy": "Выбрать вакансию",
"Candidate": "Кандидат",
"CandidateCreateLabel": "Кандидата",
"CreateCandidate": "Новый Кандидат",
"Talent": "Талант",
"TalentCreateLabel": "Таланта",
"CreateTalent": "Новый Талант",
"AssignRecruiter": "Назначить рекрутера",
"UnAssignRecruiter": "Отменить назначение рекрутера",
"UnAssignCompany": "Отменить назначение компании",
"Recruiters": "Рекрутеры",
"Create": "Создать",
"Applications": "Претенденты",
"Applications": "Кандидаты",
"ThisVacancyIsPrivate": "Эта вакансия личная",
"Description": "Описание",
"Company": "Компания",
@ -33,9 +33,9 @@
"WorkLocationPreferences": "Предпочтения по местоположению работы",
"Onsite": "Onsite",
"Remote": "Удаленно",
"SearchApplication": "Поиск претендента...",
"Application": "Претендент",
"ApplicationCreateLabel": "Претендента",
"SearchApplication": "Поиск кандидата...",
"Application": "Кандидат",
"ApplicationCreateLabel": "Кандидата",
"AssignedRecruiter": "Назначенные рекрутер",
"SkillLabel": "Навык",
"SkillsLabel": "Навыки",
@ -80,7 +80,7 @@
"ReviewCategoryTitle":"Категория",
"Verdict": "Вердикт",
"OpinionSave": "Сохранить",
"CandidateReviews": "Ревью кандидата",
"TalentReviews": "Ревью таланта",
"NoReviewForCandidate": "Нет ревью",
"CreateAnReview": "Добавить Ревью",
"CreateOpinion": "Добавить мнение",
@ -91,17 +91,17 @@
"AddDescription": "Add description",
"NumberSkills": "{count, plural, =0 {нет навыков} =1 {1 навык} =2 {2 навыка} other {# навыков}}",
"GotoCandidates": "Перейте к кандидатам",
"GotoTalents": "Перейте к талантам",
"GotoVacancies": "Перейти к вакансиям",
"GotoSkills": "Перейти к навыкам",
"GotoAssigned": "Перейти к моим назначениям",
"GotoApplicants": "Перейти к претендентам",
"GotoApplicants": "Перейти к кандидатам",
"GotoRecruitApplication": "Перейти к Приложению Рекрутинг",
"AddDropHere": "Добавить или перетянуть резюме"
},
"status": {
"CandidateRequired": "Пожалуйста выберите кандидата",
"TalentRequired": "Пожалуйста выберите таланта",
"VacancyRequired": "Пожалуйста выберите вакансию",
"ReviewCategoryRequired": "Пожалуйста выберети кадегорию"
"ReviewCategoryRequired": "Пожалуйста выберети категорию"
}
}

View File

@ -56,7 +56,7 @@
<div class="flex-col-center mt-5 createapp-container">
<FileDuo size={'large'} />
<div class="text-sm content-dark-color mt-2">
<Label label={recruit.string.NoApplicationsForCandidate} />
<Label label={recruit.string.NoApplicationsForTalent} />
</div>
<div class="text-sm">
<div class="over-underline" on:click={createApp}><Label label={recruit.string.CreateAnApplication} /></div>

View File

@ -40,7 +40,7 @@
</script>
<div class="flex-col h-full card-container">
<div class="label uppercase"><Label label={recruit.string.Candidate} /></div>
<div class="label uppercase"><Label label={recruit.string.Talent} /></div>
<Avatar avatar={candidate.avatar} size={'large'} />
{#if candidate}
<div

View File

@ -232,8 +232,8 @@
_class={contact.class.Person}
options={{ sort: { modifiedOn: -1 } }}
excluded={existingApplicants}
label={recruit.string.Candidate}
placeholder={recruit.string.Candidates}
label={recruit.string.Talent}
placeholder={recruit.string.Talents}
bind:value={doc.attachedTo}
kind={'no-border'}
size={'small'}
@ -251,12 +251,12 @@
_class={contact.class.Person}
options={{ sort: { modifiedOn: -1 } }}
excluded={existingApplicants}
label={recruit.string.Candidate}
placeholder={recruit.string.Candidates}
label={recruit.string.Talent}
placeholder={recruit.string.Talents}
bind:value={doc.attachedTo}
kind={'no-border'}
size={'small'}
create={{ component: recruit.component.CreateCandidate, label: recruit.string.CreateCandidate }}
create={{ component: recruit.component.CreateCandidate, label: recruit.string.CreateTalent }}
/>
{/if}
<UserBox

View File

@ -419,7 +419,7 @@
<FocusHandler {manager} />
<Card
label={recruit.string.CreateCandidate}
label={recruit.string.CreateTalent}
okAction={createCandidate}
canSave={firstName.length > 0 && lastName.length > 0 && matches.length === 0}
on:close={() => {

View File

@ -57,7 +57,7 @@
<div class="card"><VacancyCard {vacancy} /></div>
</div>
<div class="mt-6">
<Reviews objectId={candidate._id} reviews={candidate.reviews ?? 0} label={recruit.string.CandidateReviews} />
<Reviews objectId={candidate._id} reviews={candidate.reviews ?? 0} label={recruit.string.TalentReviews} />
</div>
{/if}

View File

@ -26,7 +26,7 @@
<div class="flex-grow text-md">
<Button
icon={recruit.icon.CreateCandidate}
label={recruit.string.CreateCandidate}
label={recruit.string.CreateTalent}
justify={'left'}
width={'100%'}
on:click={newIssue}

View File

@ -167,8 +167,8 @@
<UserBox
_class={contact.class.Person}
bind:value={doc.attachedTo}
label={recruit.string.Candidate}
placeholder={recruit.string.Candidates}
label={recruit.string.Talent}
placeholder={recruit.string.Talents}
kind={'no-border'}
size={'small'}
/>

View File

@ -65,8 +65,8 @@
<UserBox
readonly
_class={contact.class.Person}
label={recruit.string.Candidate}
placeholder={recruit.string.Candidates}
label={recruit.string.Talent}
placeholder={recruit.string.Talents}
value={object.attachedTo}
kind={'link'}
size={'x-large'}

View File

@ -53,7 +53,7 @@ async function createOpinion (object: Doc): Promise<void> {
export async function applicantValidator (applicant: Applicant, client: Client): Promise<Status> {
if (applicant.attachedTo === undefined) {
return new Status(Severity.INFO, recruit.status.CandidateRequired, {})
return new Status(Severity.INFO, recruit.status.TalentRequired, {})
}
if (applicant.space === undefined) {
return new Status(Severity.INFO, recruit.status.VacancyRequired, {})
@ -70,7 +70,7 @@ export async function applicantValidator (applicant: Applicant, client: Client):
export async function reviewValidator (review: Review, client: Client): Promise<Status> {
if (review.attachedTo === undefined) {
return new Status(Severity.INFO, recruit.status.CandidateRequired, {})
return new Status(Severity.INFO, recruit.status.TalentRequired, {})
}
if (review.space === undefined) {
return new Status(Severity.INFO, recruit.status.ReviewCategoryRequired, {})

View File

@ -23,7 +23,7 @@ import { AnyComponent } from '@anticrm/ui'
export default mergeIds(recruitId, recruit, {
status: {
ApplicationExists: '' as StatusCode,
CandidateRequired: '' as StatusCode,
TalentRequired: '' as StatusCode,
VacancyRequired: '' as StatusCode,
ReviewCategoryRequired: '' as StatusCode
},
@ -36,18 +36,18 @@ export default mergeIds(recruitId, recruit, {
MakePrivateDescription: '' as IntlString,
CandidatesDescription: '' as IntlString,
CreateAnApplication: '' as IntlString,
NoApplicationsForCandidate: '' as IntlString,
NoApplicationsForTalent: '' as IntlString,
FirstName: '' as IntlString,
LastName: '' as IntlString,
Candidates: '' as IntlString,
Talents: '' as IntlString,
CreateApplication: '' as IntlString,
ApplicationCreateLabel: '' as IntlString,
Vacancy: '' as IntlString,
VacancyCreateLabel: '' as IntlString,
SelectVacancy: '' as IntlString,
Candidate: '' as IntlString,
CandidateCreateLabel: '' as IntlString,
CreateCandidate: '' as IntlString,
Talent: '' as IntlString,
TalentCreateLabel: '' as IntlString,
CreateTalent: '' as IntlString,
AssignRecruiter: '' as IntlString,
Recruiters: '' as IntlString,
UnAssignRecruiter: '' as IntlString,
@ -102,7 +102,7 @@ export default mergeIds(recruitId, recruit, {
ReviewShortLabel: '' as IntlString,
StartDate: '' as IntlString,
DueDate: '' as IntlString,
CandidateReviews: '' as IntlString,
TalentReviews: '' as IntlString,
AddDescription: '' as IntlString,
NumberSkills: '' as IntlString,
AddDropHere: '' as IntlString

View File

@ -13,27 +13,23 @@ test.describe('actions tests', () => {
test('action-new-candidate', async ({ page }) => {
await page.click('[id="app-recruit\\:string\\:RecruitApplication"]')
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
await page.click('td:has-text("Frontend Engineer")')
await page.press('body', 'Meta+k')
await page.fill('[placeholder="type\\ to\\ filter\\.\\.\\."]', 'Candidate')
expect(await page.locator('div.selectPopup :text("New Candidate")').count()).toBe(1)
await page.click('div.selectPopup :text("New Candidate")')
await page.fill('[placeholder="type\\ to\\ filter\\.\\.\\."]', 'Talent')
expect(await page.locator('div.selectPopup :text("New Talent")').count()).toBe(1)
await page.click('div.selectPopup :text("New Talent")')
await page.click('button#card-close')
})
test('action-switch-vacancies', async ({ page }) => {
await page.click('[id="app-recruit\\:string\\:RecruitApplication"]')
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
await page.press('body', 'Meta+k')
await page.fill('[placeholder="type\\ to\\ filter\\.\\.\\."]', 'go to')
@ -47,10 +43,8 @@ test.describe('actions tests', () => {
test('action-switch-applications', async ({ page }) => {
await page.click('[id="app-recruit\\:string\\:RecruitApplication"]')
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
await page.press('body', 'Meta+k')
await page.fill('[placeholder="type\\ to\\ filter\\.\\.\\."]', 'go to')
@ -58,7 +52,7 @@ test.describe('actions tests', () => {
await page.click('div.selectPopup :text("Go To Applications")')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/applicants`
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
})
})

View File

@ -13,9 +13,9 @@ test.describe('recruit tests', () => {
test('create-candidate', async ({ page, context }) => {
await page.locator('[id="app-recruit\\:string\\:RecruitApplication"]').click()
await page.click('text=Candidates')
await page.click('text=Talents')
await page.click('button:has-text("New Candidate")')
await page.click('button:has-text("New Talent")')
const first = 'Elton-' + generateId(4)
const last = 'John-' + generateId(4)
@ -71,9 +71,9 @@ test.describe('recruit tests', () => {
await page.click('button:has-text("Create")')
await page.locator(`text=${vacancyId}`).click()
await page.click('text=Candidates')
await page.click('text=Talents')
await page.click('text=Candidates')
await page.click('text=Talents')
await page.click('text=Andrey P.')
// await page.locator('.mixin-selector').locator('text="Candidate"').click()
@ -106,7 +106,7 @@ test.describe('recruit tests', () => {
// Create Applicatio n1
await page.click('button:has-text("Application")')
await page.click('form[id="recruit:string:CreateApplication"] button:has-text("Candidate")')
await page.click('form[id="recruit:string:CreateApplication"] button:has-text("Talent")')
await page.click('button:has-text("Alex P.")')
await page.click('form[id="recruit:string:CreateApplication"] button:has-text("Create")')
@ -166,7 +166,7 @@ test.describe('recruit tests', () => {
await page.click('[placeholder="Location"]')
await page.fill('[placeholder="Location"]', 'NSK')
await page.click('form button:has-text("Candidate")')
await page.click('form button:has-text("Talent")')
await page.click('button:has-text("Andrey P.")')
await page.click('text=Create')
await page.click('td:has-text("RVE-")')

View File

@ -16,13 +16,11 @@ test.describe('recruit tests', () => {
// Click [id="app-recruit\:string\:RecruitApplication"]
await page.click('[id="app-recruit\\:string\\:RecruitApplication"]')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit`)
// Click text=Candidates
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
// Click button:has-text("Candidate")
await page.click('button:has-text("Candidate")')
// Click text=Talents
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
// Click button:has-text("Talent")
await page.click('button:has-text("Talent")')
// Fill [placeholder="John"]
await page.fill('[placeholder="John"]', 'Petr')
// Click [placeholder="Appleseed"]
@ -76,13 +74,11 @@ test.describe('recruit tests', () => {
await page.fill('[placeholder="Please\\ type\\ skill\\ title"]', 'C++')
// Click button:has-text("Create")
await page.click('button:has-text("Create")')
// Click text=Candidates
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
// Click button:has-text("Candidate")
await page.click('button:has-text("Candidate")')
// Click text=Talents
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
// Click button:has-text("Talent")
await page.click('button:has-text("Talent")')
// Click #add-tag div div
await page.click('button:has-text("Skills")')
await page.click('button:has-text("Backend development")')

View File

@ -16,17 +16,15 @@ test.describe('workbench tests', () => {
// Click text=Applications
await page.click('text=Applications')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/applicants`
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
// Click text=Applications Application >> span
await expect(page.locator('text=Applications Filter')).toBeVisible()
await expect(page.locator('text="APP-1')).toBeDefined()
// Click text=Candidates
await page.click('text=Candidates')
await expect(page).toHaveURL(
`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/candidates`
)
// Click text=Talents
await page.click('text=Talents')
await expect(page).toHaveURL(`${PlatformURI}/workbench%3Acomponent%3AWorkbenchApp/recruit%3Aapp%3ARecruit/talents`)
await expect(page.locator('text=Andrey P.')).toBeVisible()