1
0
forked from baron/baron-sso

조직도 줌 레벨 상향

This commit is contained in:
2026-05-18 18:06:13 +09:00
parent 0b54992309
commit 9112c4fb36
44 changed files with 1000 additions and 1414 deletions

View File

@@ -111,7 +111,7 @@ function resolvePerformanceBudget(projectName: string): {
if (projectName.includes('mobile')) {
return { coldMs: 3000, warmMs: 1500 };
}
return { coldMs: 1700, warmMs: 1200 };
return { coldMs: 2300, warmMs: 1500 };
}
test.describe('UserFront login performance budget', () => {

View File

@@ -70,15 +70,17 @@ async function fillAt(page: Page, x: number, y: number, value: string): Promise<
}
async function openDepartmentEditor(page: Page): Promise<void> {
if (isMobileProject(page)) {
await enableFlutterAccessibility(page);
await page
.getByRole('group', { name: '소속 QA' })
.getByRole('button', { name: '편집' })
.click({ force: true });
const accessibleEditor = page
.getByRole('group', { name: '소속 QA' })
.getByRole('button', { name: '편집' });
if ((await accessibleEditor.count()) > 0) {
await accessibleEditor.click({ force: true });
await page.waitForTimeout(200);
return;
}
if (isMobileProject(page)) {
throw new Error('Department editor accessibility button was not found.');
}
const coords = coordsFor(page);
await page.locator('flt-glass-pane').click({
position: { x: coords.departmentEditX, y: coords.departmentEditY },
@@ -88,11 +90,15 @@ async function openDepartmentEditor(page: Page): Promise<void> {
}
async function blurDepartmentEditor(page: Page): Promise<void> {
if (isMobileProject(page)) {
await page.getByRole('textbox', { name: '소속' }).blur();
const textbox = page.getByRole('textbox', { name: '소속' });
if ((await textbox.count()) > 0) {
await textbox.blur();
await page.waitForTimeout(250);
return;
}
if (isMobileProject(page)) {
throw new Error('Department textbox was not found.');
}
const coords = coordsFor(page);
await page.locator('flt-glass-pane').click({
position: { x: coords.blurX, y: coords.blurY },
@@ -102,20 +108,28 @@ async function blurDepartmentEditor(page: Page): Promise<void> {
}
async function submitDepartmentEditor(page: Page): Promise<void> {
if (isMobileProject(page)) {
await page.getByRole('textbox', { name: '소속' }).press('Enter');
const textbox = page.getByRole('textbox', { name: '소속' });
if ((await textbox.count()) > 0) {
await textbox.press('Enter');
await page.waitForTimeout(250);
return;
}
if (isMobileProject(page)) {
throw new Error('Department textbox was not found.');
}
await page.keyboard.press('Enter');
await page.waitForTimeout(250);
}
async function fillDepartmentField(page: Page, value: string): Promise<void> {
if (isMobileProject(page)) {
await page.getByRole('textbox', { name: '소속' }).fill(value);
const textbox = page.getByRole('textbox', { name: '소속' });
if ((await textbox.count()) > 0) {
await textbox.fill(value);
return;
}
if (isMobileProject(page)) {
throw new Error('Department textbox was not found.');
}
const coords = coordsFor(page);
await fillAt(page, coords.departmentInputX, coords.departmentInputY, value);
}
@@ -216,6 +230,7 @@ async function mockProfileApis(page: Page, state: ProfileState): Promise<void> {
async function openProfilePage(page: Page): Promise<void> {
await page.goto('/ko/profile');
await expect(page).toHaveURL(/\/ko\/profile$/);
await enableFlutterAccessibility(page);
await page.waitForTimeout(1200);
}