Browse Source

refactor: public/auth path corrections in tests

pull/6644/head
Pranav C 12 months ago
parent
commit
06b3bbe59d
  1. 2
      packages/nocodb/src/controllers/auth/ui/auth/emailVerify.ts
  2. 3
      packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts
  3. 6
      packages/nocodb/src/run/testDocker.ts
  4. 2
      packages/nocodb/src/services/base-users/ui/auth/emailVerify.ts
  5. 2
      packages/nocodb/tests/unit/factory/user.ts
  6. 2
      tests/playwright/pages/Account/ChangePassword.ts
  7. 8
      tests/playwright/pages/Dashboard/common/Toolbar/Fields.ts
  8. 14
      tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts
  9. 2
      tests/playwright/pages/Dashboard/common/Toolbar/Groupby.ts
  10. 6
      tests/playwright/pages/Dashboard/common/Toolbar/Sort.ts
  11. 6
      tests/playwright/setup/index.ts

2
packages/nocodb/src/controllers/auth/ui/auth/emailVerify.ts

@ -53,7 +53,7 @@ export default `<!DOCTYPE html>
methods: {},
async created() {
try {
const valid = (await axios.post('<%- baseUrl %>/api/v1/auth/email/validate/' + this.token)).data;
const valid = (await axios.post('<%- baseUrl %>//api/v1/db/auth/email/validate/' + this.token)).data;
this.valid = !!valid;
} catch (e) {
this.valid = false;

3
packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts

@ -162,8 +162,7 @@ export class ExtractIdsMiddleware implements NestMiddleware, CanActivate {
[
'/auth/user/me',
'/api/v1/db/auth/user/me',
'/api/v1/auth/user/me',
'/api/v1/auth/user/me',
'/api/v2/auth/user/me',
'/api/v1/db/meta/plugins/webhook',
'/api/v2/meta/plugins/webhook',
].some((userMePath) => req.route.path === userMePath) &&

6
packages/nocodb/src/run/testDocker.ts

@ -32,7 +32,7 @@ process.env[`NC_ALLOW_LOCAL_HOOKS`] = 'true';
let admin_response;
if (!(await User.getByEmail('user@nocodb.com'))) {
admin_response = await axios.post(
`http://localhost:${process.env.PORT || 8080}/api/v1/auth/user/signup`,
`http://localhost:${process.env.PORT || 8080}/api/v1/db/auth/user/signup`,
{
email: 'user@nocodb.com',
password: 'Password123.',
@ -46,7 +46,7 @@ process.env[`NC_ALLOW_LOCAL_HOOKS`] = 'true';
const response = await axios.post(
`http://localhost:${
process.env.PORT || 8080
}/api/v1/auth/user/signup`,
}/api/v1/db/auth/user/signup`,
{
email: `user-${i}@nocodb.com`,
password: 'Password123.',
@ -55,7 +55,7 @@ process.env[`NC_ALLOW_LOCAL_HOOKS`] = 'true';
console.log(response.data);
const user = await axios.get(
`http://localhost:${process.env.PORT || 8080}/api/v1/auth/user/me`,
`http://localhost:${process.env.PORT || 8080}/api/v1/db/auth/user/me`,
{
headers: {
'xc-auth': response.data.token,

2
packages/nocodb/src/services/base-users/ui/auth/emailVerify.ts

@ -53,7 +53,7 @@ export default `<!DOCTYPE html>
methods: {},
async created() {
try {
const valid = (await axios.post('<%- baseUrl %>/api/v1/auth/email/validate/' + this.token)).data;
const valid = (await axios.post('<%- baseUrl %>/api/v1/db/auth/email/validate/' + this.token)).data;
this.valid = !!valid;
} catch (e) {
this.valid = false;

2
packages/nocodb/tests/unit/factory/user.ts

@ -9,7 +9,7 @@ const defaultUserArgs = {
const createUser = async (context, userArgs = {}) => {
const args = { ...defaultUserArgs, ...userArgs };
const response = await request(context.app)
.post('/api/v1/auth/user/signup')
.post('/api/v1/db/auth/user/signup')
.send(args);
const user = await User.getByEmail(args.email);
return { token: response.body.token, user };

2
tests/playwright/pages/Account/ChangePassword.ts

@ -43,7 +43,7 @@ export class ChangePasswordPage extends BasePage {
await this.waitForResponse({
uiAction: submitChangePassword,
httpMethodsToMatch: ['POST'],
requestUrlPathToMatch: 'api/v1/auth/password/change',
requestUrlPathToMatch: 'api/v1/db/auth/password/change',
});
} else {
await submitChangePassword();

8
tests/playwright/pages/Dashboard/common/Toolbar/Fields.ts

@ -35,7 +35,7 @@ export class ToolbarFieldsPage extends BasePage {
if (validateResponse) {
await this.waitForResponse({
uiAction: toggleColumn,
requestUrlPathToMatch: isLocallySaved ? '/api/v1/public/' : '/api/v1/data/noco/',
requestUrlPathToMatch: isLocallySaved ? '/api/v1/db/public/' : '/api/v1/db/data/noco/',
httpMethodsToMatch: ['GET'],
});
} else {
@ -59,7 +59,7 @@ export class ToolbarFieldsPage extends BasePage {
async click({ title, isLocallySaved }: { title: string; isLocallySaved?: boolean }) {
await this.waitForResponse({
uiAction: () => this.get().locator(`[data-testid="nc-fields-menu-${title}"]`).locator('.nc-switch').click(),
requestUrlPathToMatch: isLocallySaved ? '/api/v1/public/' : '/api/v1/data/noco/',
requestUrlPathToMatch: isLocallySaved ? '/api/v1/db/public/' : '/api/v1/db/data/noco/',
httpMethodsToMatch: ['GET'],
});
await this.toolbar.parent.waitLoading();
@ -69,7 +69,7 @@ export class ToolbarFieldsPage extends BasePage {
await this.toolbar.clickFields();
await this.waitForResponse({
uiAction: () => this.get().locator(`.nc-fields-show-all-fields`).click(),
requestUrlPathToMatch: isLocallySaved ? '/api/v1/public/' : '/api/v1/data/noco/',
requestUrlPathToMatch: isLocallySaved ? '/api/v1/db/public/' : '/api/v1/db/data/noco/',
httpMethodsToMatch: ['GET'],
timeout: 10000,
});
@ -90,7 +90,7 @@ export class ToolbarFieldsPage extends BasePage {
await this.toolbar.clickFields();
await this.waitForResponse({
uiAction: async () => await this.get().locator(`.nc-fields-show-system-fields`).click(),
requestUrlPathToMatch: isLocallySaved ? '/api/v1/public/' : '/api/v1/data/noco/',
requestUrlPathToMatch: isLocallySaved ? '/api/v1/db/public/' : '/api/v1/db/data/noco/',
httpMethodsToMatch: ['GET'],
});
await this.toolbar.clickFields();

14
tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts

@ -151,7 +151,7 @@ export class ToolbarFilterPage extends BasePage {
.locator(`div[label="${title}"]:visible`)
.click(),
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
}
@ -178,7 +178,7 @@ export class ToolbarFilterPage extends BasePage {
.first()
.click(),
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
}
@ -206,7 +206,7 @@ export class ToolbarFilterPage extends BasePage {
.first()
.click(),
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
}
@ -249,7 +249,7 @@ export class ToolbarFilterPage extends BasePage {
uiAction: async () =>
await this.rootPage.locator(`.ant-picker-cell-inner:has-text("${value}")`).click(),
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
} else {
@ -261,7 +261,7 @@ export class ToolbarFilterPage extends BasePage {
await this.waitForResponse({
uiAction: fillFilter,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
await this.toolbar.parent.dashboard.waitForLoaderToDisappear();
@ -277,7 +277,7 @@ export class ToolbarFilterPage extends BasePage {
await this.waitForResponse({
uiAction: async () => await this.get().locator('.nc-filter-value-select').locator('input').fill(value),
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}
break;
@ -336,7 +336,7 @@ export class ToolbarFilterPage extends BasePage {
await this.waitForResponse({
uiAction: fillFilter,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
await this.toolbar.parent.dashboard.waitForLoaderToDisappear();
await this.toolbar.parent.waitLoading();

2
tests/playwright/pages/Dashboard/common/Toolbar/Groupby.ts

@ -77,7 +77,7 @@ export class ToolbarGroupByPage extends BasePage {
await this.waitForResponse({
uiAction: selectSortDirection,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
}

6
tests/playwright/pages/Dashboard/common/Toolbar/Sort.ts

@ -68,7 +68,7 @@ export class ToolbarSortPage extends BasePage {
await this.waitForResponse({
uiAction: selectSortDirection,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
await this.toolbar.parent.dashboard.waitForLoaderToDisappear();
// close sort menu
@ -119,7 +119,7 @@ export class ToolbarSortPage extends BasePage {
await this.waitForResponse({
uiAction: selectColumn,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
// read content of the dropdown
@ -159,7 +159,7 @@ export class ToolbarSortPage extends BasePage {
await this.waitForResponse({
uiAction: selectSortDirection,
httpMethodsToMatch: ['GET'],
requestUrlPathToMatch: locallySaved ? `/api/v1/public/` : `/api/v1/data/noco/`,
requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`,
});
await this.toolbar.parent.dashboard.waitForLoaderToDisappear();
// close sort menu

6
tests/playwright/setup/index.ts

@ -183,12 +183,12 @@ async function localInit({
// Login as root user
if (isSuperUser) {
// required for configuring license key settings
response = await axios.post('http://localhost:8080/api/v1/auth/user/signin', {
response = await axios.post('http://localhost:8080/api/v1/db/auth/user/signin', {
email: `user@nocodb.com`,
password: getDefaultPwd(),
});
} else {
response = await axios.post('http://localhost:8080/api/v1/auth/user/signin', {
response = await axios.post('http://localhost:8080/api/v1/db/auth/user/signin', {
email: `user-${parallelId}@nocodb.com`,
password: getDefaultPwd(),
});
@ -384,7 +384,7 @@ const setup = async ({
const token = response.data.token;
try {
const admin = await axios.post('http://localhost:8080/api/v1/auth/user/signin', {
const admin = await axios.post('http://localhost:8080/api/v1/db/auth/user/signin', {
email: `user@nocodb.com`,
password: getDefaultPwd(),
});

Loading…
Cancel
Save