From e15e729a31e28419e04ea0d742cc71063d0a3e4e Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sat, 25 Jun 2022 17:30:42 +0530 Subject: [PATCH 1/6] fix: ManyToMany column naming - Add suffix `List` instead of `MMList` - Proper child table name - Cypress test case corrections re #2429 Signed-off-by: Pranav C --- packages/nocodb/src/__tests__/restv2.test.ts | 10 +++++----- packages/nocodb/src/lib/meta/api/columnApis.ts | 4 ++-- packages/nocodb/src/lib/meta/api/metaDiffApis.ts | 4 ++-- .../integration/common/2b_table_with_m2m_column.js | 4 ++-- .../cypress/integration/common/4f_grid_view_share.js | 12 ++++++------ .../integration/common/4f_pg_grid_view_share.js | 10 +++++----- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/nocodb/src/__tests__/restv2.test.ts b/packages/nocodb/src/__tests__/restv2.test.ts index 8030f98883..3458b25f9a 100644 --- a/packages/nocodb/src/__tests__/restv2.test.ts +++ b/packages/nocodb/src/__tests__/restv2.test.ts @@ -209,7 +209,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Rollup, alias: 'filmCount', rollupColumn: 'FilmId', - relationColumn: 'FilmMMList', + relationColumn: 'FilmList', rollupFunction: 'count' } ]; @@ -413,7 +413,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'filmNames', lookupColumn: 'Title', - relationColumn: 'FilmMMList' + relationColumn: 'FilmList' }; request(app) .post(`/nc/${projectId}/generate`) @@ -1335,7 +1335,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'filmIds', lookupColumn: 'FilmId', - relationColumn: 'FilmMMList' + relationColumn: 'FilmList' }, { table: 'actor', @@ -1398,7 +1398,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Rollup, alias: 'actorsCount', rollupColumn: 'ActorId', - relationColumn: 'ActorMMList', + relationColumn: 'ActorList', rollupFunction: 'count' }, { @@ -1406,7 +1406,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'actorsCountList', lookupColumn: 'actorsCount', - relationColumn: 'FilmMMList' + relationColumn: 'FilmList' }, { table: 'actor', diff --git a/packages/nocodb/src/lib/meta/api/columnApis.ts b/packages/nocodb/src/lib/meta/api/columnApis.ts index e68aff846a..9be0e100fa 100644 --- a/packages/nocodb/src/lib/meta/api/columnApis.ts +++ b/packages/nocodb/src/lib/meta/api/columnApis.ts @@ -427,7 +427,7 @@ export async function columnAdd(req: Request, res: Response) { await Column.insert({ title: getUniqueColumnAliasName( await child.getColumns(), - `${child.title}MMList` + `${parent.title}List` ), uidt: UITypes.LinkToAnotherRecord, type: 'mm', @@ -447,7 +447,7 @@ export async function columnAdd(req: Request, res: Response) { await Column.insert({ title: getUniqueColumnAliasName( await parent.getColumns(), - req.body.title ?? `${parent.title}MMList` + req.body.title ?? `${child.title}List` ), uidt: UITypes.LinkToAnotherRecord, diff --git a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts index 9df02372a6..59e1ba70fb 100644 --- a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts +++ b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts @@ -785,7 +785,7 @@ export async function extractAndGenerateManyToManyRelations( await Column.insert({ title: getUniqueColumnAliasName( modelA.columns, - `${modelB.title}MMList` + `${modelB.title}List` ), fk_model_id: modelA.id, fk_related_model_id: modelB.id, @@ -803,7 +803,7 @@ export async function extractAndGenerateManyToManyRelations( await Column.insert({ title: getUniqueColumnAliasName( modelB.columns, - `${modelA.title}MMList` + `${modelA.title}List` ), fk_model_id: modelB.id, fk_related_model_id: modelA.id, diff --git a/scripts/cypress/integration/common/2b_table_with_m2m_column.js b/scripts/cypress/integration/common/2b_table_with_m2m_column.js index c1d9a0f7d4..7b0b8ba148 100644 --- a/scripts/cypress/integration/common/2b_table_with_m2m_column.js +++ b/scripts/cypress/integration/common/2b_table_with_m2m_column.js @@ -23,10 +23,10 @@ export const genTest = (apiType, dbType) => { it("Expand m2m column", () => { // expand first row - cy.get('td[data-col="FilmMMList"] div', { timeout: 12000 }) + cy.get('td[data-col="FilmList"] div', { timeout: 12000 }) .first() .click({ force: true }); - cy.get('td[data-col="FilmMMList"] div .mdi-arrow-expand') + cy.get('td[data-col="FilmList"] div .mdi-arrow-expand') .first() .click({ force: true }); diff --git a/scripts/cypress/integration/common/4f_grid_view_share.js b/scripts/cypress/integration/common/4f_grid_view_share.js index 5c5bda992d..15ebf5f9a7 100644 --- a/scripts/cypress/integration/common/4f_grid_view_share.js +++ b/scripts/cypress/integration/common/4f_grid_view_share.js @@ -170,7 +170,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffMMList`, + `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, `1013 Tabuk Boulevard,West Bengali,96203,158399646978,[object Object],2,,Kanchrapara,`, `1892 Nabereznyje Telny Lane,Tutuila,28396,478229987054,[object Object],2,,Tafuna,`, `1993 Tabuk Lane,Tamil Nadu,64221,648482415405,[object Object],2,,Tambaram,`, @@ -231,7 +231,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffMMList`, + `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, `1993 Tabuk Lane,Tamil Nadu,64221,648482415405,[object Object],2,,Tambaram,`, `1661 Abha Drive,Tamil Nadu,14400,270456873752,[object Object],1,,Pudukkottai,`, ]; @@ -270,7 +270,7 @@ export const genTest = (apiType, dbType) => { cy.get('[data-col="CustomerList"]').should("exist"); cy.get('[data-col="StaffList"]').should("exist"); cy.get('[data-col="CityRead"]').should("exist"); - cy.get('[data-col="StaffMMList"]').should("exist"); + cy.get('[data-col="StaffList"]').should("exist"); // has many field validation mainPage @@ -327,17 +327,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > many to many`, () => { // many-to-many field validation mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-arrow-expand") .click(); diff --git a/scripts/cypress/integration/common/4f_pg_grid_view_share.js b/scripts/cypress/integration/common/4f_pg_grid_view_share.js index 7e450dcbab..a53109f2f7 100644 --- a/scripts/cypress/integration/common/4f_pg_grid_view_share.js +++ b/scripts/cypress/integration/common/4f_pg_grid_view_share.js @@ -228,7 +228,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffMMList`, + `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, `1888 Kabul Drive,,20936,,1,,Ife,,`, `1661 Abha Drive,,14400,,1,,Pudukkottai,,`, ]; @@ -265,7 +265,7 @@ export const genTest = (apiType, dbType) => { cy.get('[data-col="CustomerList"]').should("exist"); cy.get('[data-col="StaffList"]').should("exist"); cy.get('[data-col="CityRead"]').should("exist"); - cy.get('[data-col="StaffMMList"]').should("exist"); + cy.get('[data-col="StaffList"]').should("exist"); // has many field validation mainPage @@ -322,17 +322,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > many to many`, () => { // many-to-many field validation mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("StaffMMList", 1) + .getCell("StaffList", 1) .click() .find("button.mdi-arrow-expand") .click(); From 2f5f1ef872449d6bf397aed9cdc00d3328750bff Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sat, 25 Jun 2022 21:08:57 +0530 Subject: [PATCH 2/6] fix: update bt, hm and mm column names - BT - `TableRead` => `Table` - HM - `TableList` => `Table List` - MM - `TableMMList` => `Table List` Signed-off-by: Pranav C --- packages/nocodb/src/__tests__/restv2.test.ts | 8 ++++---- packages/nocodb/src/lib/meta/api/columnApis.ts | 8 ++++---- packages/nocodb/src/lib/meta/api/metaDiffApis.ts | 6 +++--- packages/nocodb/src/lib/meta/api/projectApis.ts | 4 ++-- scripts/cypress/integration/common/1a_table_operations.js | 2 +- scripts/cypress/integration/common/1c_sql_view.js | 4 ++-- .../common/2a_table_with_belongs_to_colulmn.js | 4 ++-- .../integration/common/2b_table_with_m2m_column.js | 4 ++-- .../cypress/integration/common/4c_form_view_detailed.js | 2 +- .../integration/common/4d_table_view_grid_locked.js | 6 +++--- scripts/cypress/integration/common/4e_form_view_share.js | 2 +- scripts/cypress/integration/common/5a_user_role.js | 2 +- scripts/cypress/integration/common/6b_downloadCsv.js | 4 ++-- scripts/cypress/integration/common/6f_attachments.js | 2 +- 14 files changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/nocodb/src/__tests__/restv2.test.ts b/packages/nocodb/src/__tests__/restv2.test.ts index 3458b25f9a..ffb6b97794 100644 --- a/packages/nocodb/src/__tests__/restv2.test.ts +++ b/packages/nocodb/src/__tests__/restv2.test.ts @@ -209,7 +209,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Rollup, alias: 'filmCount', rollupColumn: 'FilmId', - relationColumn: 'FilmList', + relationColumn: 'Film List', rollupFunction: 'count' } ]; @@ -413,7 +413,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'filmNames', lookupColumn: 'Title', - relationColumn: 'FilmList' + relationColumn: 'Film List' }; request(app) .post(`/nc/${projectId}/generate`) @@ -1335,7 +1335,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'filmIds', lookupColumn: 'FilmId', - relationColumn: 'FilmList' + relationColumn: 'Film List' }, { table: 'actor', @@ -1406,7 +1406,7 @@ describe('Noco v2 Tests', () => { type: UITypes.Lookup, alias: 'actorsCountList', lookupColumn: 'actorsCount', - relationColumn: 'FilmList' + relationColumn: 'Film List' }, { table: 'actor', diff --git a/packages/nocodb/src/lib/meta/api/columnApis.ts b/packages/nocodb/src/lib/meta/api/columnApis.ts index 9be0e100fa..ea3aa7c17b 100644 --- a/packages/nocodb/src/lib/meta/api/columnApis.ts +++ b/packages/nocodb/src/lib/meta/api/columnApis.ts @@ -57,7 +57,7 @@ async function createHmAndBtColumn( { const title = getUniqueColumnAliasName( await child.getColumns(), - type === 'bt' ? alias : `${parent.title}Read` + type === 'bt' ? alias : `${parent.title}` ); await Column.insert({ title, @@ -79,7 +79,7 @@ async function createHmAndBtColumn( { const title = getUniqueColumnAliasName( await parent.getColumns(), - type === 'hm' ? alias : `${child.title}List` + type === 'hm' ? alias : `${child.title} List` ); await Column.insert({ title, @@ -427,7 +427,7 @@ export async function columnAdd(req: Request, res: Response) { await Column.insert({ title: getUniqueColumnAliasName( await child.getColumns(), - `${parent.title}List` + `${parent.title} List` ), uidt: UITypes.LinkToAnotherRecord, type: 'mm', @@ -447,7 +447,7 @@ export async function columnAdd(req: Request, res: Response) { await Column.insert({ title: getUniqueColumnAliasName( await parent.getColumns(), - req.body.title ?? `${child.title}List` + req.body.title ?? `${child.title} List` ), uidt: UITypes.LinkToAnotherRecord, diff --git a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts index 59e1ba70fb..7729796b43 100644 --- a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts +++ b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts @@ -671,7 +671,7 @@ export async function metaDiffSync(req, res) { if (change.relationType === RelationTypes.BELONGS_TO) { const title = getUniqueColumnAliasName( childModel.columns, - `${parentModel.title || parentModel.table_name}Read` + `${parentModel.title || parentModel.table_name}` ); await Column.insert({ uidt: UITypes.LinkToAnotherRecord, @@ -785,7 +785,7 @@ export async function extractAndGenerateManyToManyRelations( await Column.insert({ title: getUniqueColumnAliasName( modelA.columns, - `${modelB.title}List` + `${modelB.title} List` ), fk_model_id: modelA.id, fk_related_model_id: modelB.id, @@ -803,7 +803,7 @@ export async function extractAndGenerateManyToManyRelations( await Column.insert({ title: getUniqueColumnAliasName( modelB.columns, - `${modelA.title}List` + `${modelA.title} List` ), fk_model_id: modelB.id, fk_related_model_id: modelA.id, diff --git a/packages/nocodb/src/lib/meta/api/projectApis.ts b/packages/nocodb/src/lib/meta/api/projectApis.ts index 1e8899a04b..69cc6797e0 100644 --- a/packages/nocodb/src/lib/meta/api/projectApis.ts +++ b/packages/nocodb/src/lib/meta/api/projectApis.ts @@ -215,7 +215,7 @@ async function populateMeta(base: Base, project: Project): Promise { uidt: UITypes.LinkToAnotherRecord, type: 'hm', hm, - title: `${hm.title}List` + title: `${hm.title} List` }; }), ...belongsTo.map(bt => { @@ -230,7 +230,7 @@ async function populateMeta(base: Base, project: Project): Promise { uidt: UITypes.LinkToAnotherRecord, type: 'bt', bt, - title: `${bt.rtitle}Read` + title: `${bt.rtitle}` }; }) ]; diff --git a/scripts/cypress/integration/common/1a_table_operations.js b/scripts/cypress/integration/common/1a_table_operations.js index ce208bbc05..c54d243f50 100644 --- a/scripts/cypress/integration/common/1a_table_operations.js +++ b/scripts/cypress/integration/common/1a_table_operations.js @@ -92,7 +92,7 @@ export const genTest = (apiType, dbType) => { cy.openTableTab("Country", 25); mainPage - .getCell("CityList", 1) + .getCell("City List", 1) .find(".name") .contains("Kabul") .should("exist"); diff --git a/scripts/cypress/integration/common/1c_sql_view.js b/scripts/cypress/integration/common/1c_sql_view.js index 2a39736847..a57d328da6 100644 --- a/scripts/cypress/integration/common/1c_sql_view.js +++ b/scripts/cypress/integration/common/1c_sql_view.js @@ -139,8 +139,8 @@ export const genTest = (apiType, dbType) => { cy.openViewsTab("CustomerList", 25); cy.closeViewsTab("CustomerList"); - cy.openViewsTab("FilmList", 25); - cy.closeViewsTab("FilmList"); + cy.openViewsTab("Film List", 25); + cy.closeViewsTab("Film List"); cy.openViewsTab("SalesByFilmCategory", 16); cy.closeViewsTab("SalesByFilmCategory"); diff --git a/scripts/cypress/integration/common/2a_table_with_belongs_to_colulmn.js b/scripts/cypress/integration/common/2a_table_with_belongs_to_colulmn.js index d8e046d6c1..8924e9ca8e 100644 --- a/scripts/cypress/integration/common/2a_table_with_belongs_to_colulmn.js +++ b/scripts/cypress/integration/common/2a_table_with_belongs_to_colulmn.js @@ -23,12 +23,12 @@ export const genTest = (apiType, dbType) => { it("Expand belongs-to column", () => { // expand first row - cy.get('td[data-col="CityList"] div:visible', { + cy.get('td[data-col="City List"] div:visible', { timeout: 12000, }) .first() .click(); - cy.get('td[data-col="CityList"] div .mdi-arrow-expand:visible') + cy.get('td[data-col="City List"] div .mdi-arrow-expand:visible') .first() .click(); diff --git a/scripts/cypress/integration/common/2b_table_with_m2m_column.js b/scripts/cypress/integration/common/2b_table_with_m2m_column.js index 7b0b8ba148..de4beeb246 100644 --- a/scripts/cypress/integration/common/2b_table_with_m2m_column.js +++ b/scripts/cypress/integration/common/2b_table_with_m2m_column.js @@ -23,10 +23,10 @@ export const genTest = (apiType, dbType) => { it("Expand m2m column", () => { // expand first row - cy.get('td[data-col="FilmList"] div', { timeout: 12000 }) + cy.get('td[data-col="Film List"] div', { timeout: 12000 }) .first() .click({ force: true }); - cy.get('td[data-col="FilmList"] div .mdi-arrow-expand') + cy.get('td[data-col="Film List"] div .mdi-arrow-expand') .first() .click({ force: true }); diff --git a/scripts/cypress/integration/common/4c_form_view_detailed.js b/scripts/cypress/integration/common/4c_form_view_detailed.js index e81ad93100..dbcbd4d585 100644 --- a/scripts/cypress/integration/common/4c_form_view_detailed.js +++ b/scripts/cypress/integration/common/4c_form_view_detailed.js @@ -119,7 +119,7 @@ export const genTest = (apiType, dbType) => { .should("exist"); cy.get(".nc-field-wrapper") .eq(1) - .contains("CityList") + .contains("City List") .should("exist"); cy.get(".nc-field-wrapper") .eq(2) diff --git a/scripts/cypress/integration/common/4d_table_view_grid_locked.js b/scripts/cypress/integration/common/4d_table_view_grid_locked.js index 94630fc2e4..b702cfcdcb 100644 --- a/scripts/cypress/integration/common/4d_table_view_grid_locked.js +++ b/scripts/cypress/integration/common/4d_table_view_grid_locked.js @@ -77,18 +77,18 @@ export const genTest = (apiType, dbType) => { // check if add/ expand options available for 'has many' column type mainPage - .getCell("CityList", 1) + .getCell("City List", 1) .click() .find("button.mdi-plus") .should(`${vString}exist`); mainPage - .getCell("CityList", 1) + .getCell("City List", 1) .click() .find("button.mdi-arrow-expand") .should(`${vString}exist`); // update row option (right click) - should not be available for Lock view - mainPage.getCell("CityList", 1).rightclick(); + mainPage.getCell("City List", 1).rightclick(); cy.get(".menuable__content__active").should( `${vString}be.visible` ); diff --git a/scripts/cypress/integration/common/4e_form_view_share.js b/scripts/cypress/integration/common/4e_form_view_share.js index b2e16ba956..5ee037bc86 100644 --- a/scripts/cypress/integration/common/4e_form_view_share.js +++ b/scripts/cypress/integration/common/4e_form_view_share.js @@ -131,7 +131,7 @@ export const genTest = (apiType, dbType) => { // all fields, barring removed field should exist cy.get('[title="City"]').should("exist"); cy.get('[title="LastUpdate"]').should("exist"); - cy.get('[title="CountryRead"]').should("exist"); + cy.get('[title="Country"]').should("exist"); cy.get('[title="AddressList"]').should("not.exist"); // order of LastUpdate & City field is retained diff --git a/scripts/cypress/integration/common/5a_user_role.js b/scripts/cypress/integration/common/5a_user_role.js index 0c46ef67a7..3fece6bc4c 100644 --- a/scripts/cypress/integration/common/5a_user_role.js +++ b/scripts/cypress/integration/common/5a_user_role.js @@ -209,7 +209,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `City,AddressList,CountryRead`, + `City,AddressList,Country`, `A Corua (La Corua),939 Probolinggo Loop,Spain`, `Abha,733 Mandaluyong Place,Saudi Arabia`, `Abu Dhabi,535 Ahmadnagar Manor,United Arab Emirates`, diff --git a/scripts/cypress/integration/common/6b_downloadCsv.js b/scripts/cypress/integration/common/6b_downloadCsv.js index 1fe80dced5..fc920ba8cb 100644 --- a/scripts/cypress/integration/common/6b_downloadCsv.js +++ b/scripts/cypress/integration/common/6b_downloadCsv.js @@ -31,7 +31,7 @@ export const genTest = (apiType, dbType) => { // `Angola,"Benguela, Namibe"`, // ]; let storedRecords = [ - ['Country','CityList'], + ['Country','City List'], ['Afghanistan','Kabul'], ['Algeria','Skikda', 'Bchar', 'Batna'], ['American Samoa','Tafuna'], @@ -41,7 +41,7 @@ export const genTest = (apiType, dbType) => { // if (isPostgres()) { // // order of second entry is different // storedRecords = [ - // `Country,CityList`, + // `Country,City List`, // `Afghanistan,Kabul`, // `Algeria,"Skikda, Bchar, Batna"`, // `American Samoa,Tafuna`, diff --git a/scripts/cypress/integration/common/6f_attachments.js b/scripts/cypress/integration/common/6f_attachments.js index 4d3e8ef036..b7aab2dc0d 100644 --- a/scripts/cypress/integration/common/6f_attachments.js +++ b/scripts/cypress/integration/common/6f_attachments.js @@ -113,7 +113,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { let storedRecords = [ - `Country,CityList,testAttach`, + `Country,City List,testAttach`, `Afghanistan,Kabul,1.json(http://localhost:8080/download/p_h0wxjx5kgoq3w4/vw_skyvc7hsp9i34a/2HvU8R.json)`, ]; From 4867f9d6e5520bde457a1808d6506d29ba98579d Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sat, 25 Jun 2022 21:43:58 +0530 Subject: [PATCH 3/6] test: cypress test correction Signed-off-by: Pranav C --- .../integration/common/1a_table_operations.js | 4 +-- .../cypress/integration/common/1c_sql_view.js | 4 +-- .../1d_pg_table_view_drag_drop_reorder.js | 2 +- .../common/1d_table_view_drag_drop_reorder.js | 2 +- .../integration/common/4e_form_view_share.js | 4 +-- .../integration/common/4f_grid_view_share.js | 30 +++++++++---------- .../common/4f_pg_grid_view_share.js | 28 ++++++++--------- .../integration/common/5a_user_role.js | 2 +- .../integration/common/6b_downloadCsv.js | 2 +- .../integration/spec/roleValidation.spec.js | 2 +- 10 files changed, 40 insertions(+), 40 deletions(-) diff --git a/scripts/cypress/integration/common/1a_table_operations.js b/scripts/cypress/integration/common/1a_table_operations.js index c54d243f50..3e5b2793bc 100644 --- a/scripts/cypress/integration/common/1a_table_operations.js +++ b/scripts/cypress/integration/common/1a_table_operations.js @@ -80,9 +80,9 @@ export const genTest = (apiType, dbType) => { // 4a. Address table, has many field cy.openTableTab("Address", 25); - mainPage.getCell("CityRead", 1).scrollIntoView(); + mainPage.getCell("City", 1).scrollIntoView(); mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .find(".name") .contains("Lethbridge") .should("exist"); diff --git a/scripts/cypress/integration/common/1c_sql_view.js b/scripts/cypress/integration/common/1c_sql_view.js index a57d328da6..2a39736847 100644 --- a/scripts/cypress/integration/common/1c_sql_view.js +++ b/scripts/cypress/integration/common/1c_sql_view.js @@ -139,8 +139,8 @@ export const genTest = (apiType, dbType) => { cy.openViewsTab("CustomerList", 25); cy.closeViewsTab("CustomerList"); - cy.openViewsTab("Film List", 25); - cy.closeViewsTab("Film List"); + cy.openViewsTab("FilmList", 25); + cy.closeViewsTab("FilmList"); cy.openViewsTab("SalesByFilmCategory", 16); cy.closeViewsTab("SalesByFilmCategory"); diff --git a/scripts/cypress/integration/common/1d_pg_table_view_drag_drop_reorder.js b/scripts/cypress/integration/common/1d_pg_table_view_drag_drop_reorder.js index 9f99519791..f37be89209 100644 --- a/scripts/cypress/integration/common/1d_pg_table_view_drag_drop_reorder.js +++ b/scripts/cypress/integration/common/1d_pg_table_view_drag_drop_reorder.js @@ -23,7 +23,7 @@ export const genTest = (apiType, dbType) => { /* Original order of list items Actor, Address, Category, City, Country, Customer, FIlm, FilmText, Language, Payment, Rental Staff - ActorInfo, CustomerList, FilmList, NiceButSlowerFilmList, SalesByFilmCategory, SalesByStore, StaffList + ActorInfo, Customer List, Film List, NiceButSlowerFilm List, SalesByFilmCategory, SalesByStore, Staff List */ it(`Table & SQL View list, Drag/drop`, () => { diff --git a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js index a76f8cba7e..2aa191b0ab 100644 --- a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js +++ b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js @@ -18,7 +18,7 @@ export const genTest = (apiType, dbType) => { /* Original order of list items Actor, Address, Category, City, Country, Customer, FIlm, FilmText, Language, Payment, Rental Staff - ActorInfo, CustomerList, FilmList, NiceButSlowerFilmList, SalesByFilmCategory, SalesByStore, StaffList + ActorInfo, Customer List, Film List, NiceButSlowerFilm List, SalesByFilmCategory, SalesByStore, Staff List */ before(() => { diff --git a/scripts/cypress/integration/common/4e_form_view_share.js b/scripts/cypress/integration/common/4e_form_view_share.js index 5ee037bc86..c661775c3b 100644 --- a/scripts/cypress/integration/common/4e_form_view_share.js +++ b/scripts/cypress/integration/common/4e_form_view_share.js @@ -72,7 +72,7 @@ export const genTest = (apiType, dbType) => { // "#data-table-form-City" // ); - cy.get('[title="AddressList"]').drag(".nc-drag-n-drop-to-hide"); + cy.get('[title="Address List"]').drag(".nc-drag-n-drop-to-hide"); cy.get(".nc-form > .mx-auto") .find('[type="checkbox"]') @@ -132,7 +132,7 @@ export const genTest = (apiType, dbType) => { cy.get('[title="City"]').should("exist"); cy.get('[title="LastUpdate"]').should("exist"); cy.get('[title="Country"]').should("exist"); - cy.get('[title="AddressList"]').should("not.exist"); + cy.get('[title="Address List"]').should("not.exist"); // order of LastUpdate & City field is retained cy.get(".nc-field-wrapper") diff --git a/scripts/cypress/integration/common/4f_grid_view_share.js b/scripts/cypress/integration/common/4f_grid_view_share.js index 15ebf5f9a7..8a35a02b3f 100644 --- a/scripts/cypress/integration/common/4f_grid_view_share.js +++ b/scripts/cypress/integration/common/4f_grid_view_share.js @@ -170,7 +170,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, + `Address,District,PostalCode,Phone,Location,Customer List,Staff List,City,Staff List`, `1013 Tabuk Boulevard,West Bengali,96203,158399646978,[object Object],2,,Kanchrapara,`, `1892 Nabereznyje Telny Lane,Tutuila,28396,478229987054,[object Object],2,,Tafuna,`, `1993 Tabuk Lane,Tamil Nadu,64221,648482415405,[object Object],2,,Tambaram,`, @@ -231,7 +231,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, + `Address,District,PostalCode,Phone,Location,CustomerList,Staff List,City,Staff List`, `1993 Tabuk Lane,Tamil Nadu,64221,648482415405,[object Object],2,,Tambaram,`, `1661 Abha Drive,Tamil Nadu,14400,270456873752,[object Object],1,,Pudukkottai,`, ]; @@ -267,24 +267,24 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > has many`, () => { // verify column headers - cy.get('[data-col="CustomerList"]').should("exist"); - cy.get('[data-col="StaffList"]').should("exist"); - cy.get('[data-col="CityRead"]').should("exist"); - cy.get('[data-col="StaffList"]').should("exist"); + cy.get('[data-col="Customer List"]').should("exist"); + cy.get('[data-col="Staff List"]').should("exist"); + cy.get('[data-col="City"]').should("exist"); + cy.get('[data-col="Staff List"]').should("exist"); // has many field validation mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-arrow-expand") .click(); @@ -308,17 +308,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > belongs to`, () => { // belongs to field validation mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .click() .find("button.mdi-arrow-expand") .should("not.exist"); mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .find(".v-chip") .contains("Kanchrapara") .should("exist"); @@ -327,17 +327,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > many to many`, () => { // many-to-many field validation mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-arrow-expand") .click(); diff --git a/scripts/cypress/integration/common/4f_pg_grid_view_share.js b/scripts/cypress/integration/common/4f_pg_grid_view_share.js index a53109f2f7..e049477f05 100644 --- a/scripts/cypress/integration/common/4f_pg_grid_view_share.js +++ b/scripts/cypress/integration/common/4f_pg_grid_view_share.js @@ -228,7 +228,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,StaffList,CityRead,StaffList`, + `Address,District,PostalCode,Phone,Location,Customer List,Staff List,City,Staff List`, `1888 Kabul Drive,,20936,,1,,Ife,,`, `1661 Abha Drive,,14400,,1,,Pudukkottai,,`, ]; @@ -262,24 +262,24 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > has many`, () => { // verify column headers - cy.get('[data-col="CustomerList"]').should("exist"); - cy.get('[data-col="StaffList"]').should("exist"); - cy.get('[data-col="CityRead"]').should("exist"); - cy.get('[data-col="StaffList"]').should("exist"); + cy.get('[data-col="Customer List"]').should("exist"); + cy.get('[data-col="Staff List"]').should("exist"); + cy.get('[data-col="City"]').should("exist"); + cy.get('[data-col="Staff List"]').should("exist"); // has many field validation mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("CustomerList", 3) + .getCell("Customer List", 3) .click() .find("button.mdi-arrow-expand") .click(); @@ -303,17 +303,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > belongs to`, () => { // belongs to field validation mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .click() .find("button.mdi-arrow-expand") .should("not.exist"); mainPage - .getCell("CityRead", 1) + .getCell("City", 1) .find(".v-chip") .contains("al-Ayn") .should("exist"); @@ -322,17 +322,17 @@ export const genTest = (apiType, dbType) => { it(`Share GRID view : Virtual column validation > many to many`, () => { // many-to-many field validation mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-close-thick") .should("not.exist"); mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-plus") .should("not.exist"); mainPage - .getCell("StaffList", 1) + .getCell("Staff List", 1) .click() .find("button.mdi-arrow-expand") .click(); diff --git a/scripts/cypress/integration/common/5a_user_role.js b/scripts/cypress/integration/common/5a_user_role.js index 3fece6bc4c..232f13f7c6 100644 --- a/scripts/cypress/integration/common/5a_user_role.js +++ b/scripts/cypress/integration/common/5a_user_role.js @@ -209,7 +209,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `City,AddressList,Country`, + `City,Address List,Country`, `A Corua (La Corua),939 Probolinggo Loop,Spain`, `Abha,733 Mandaluyong Place,Saudi Arabia`, `Abu Dhabi,535 Ahmadnagar Manor,United Arab Emirates`, diff --git a/scripts/cypress/integration/common/6b_downloadCsv.js b/scripts/cypress/integration/common/6b_downloadCsv.js index fc920ba8cb..bac94fdc24 100644 --- a/scripts/cypress/integration/common/6b_downloadCsv.js +++ b/scripts/cypress/integration/common/6b_downloadCsv.js @@ -31,7 +31,7 @@ export const genTest = (apiType, dbType) => { // `Angola,"Benguela, Namibe"`, // ]; let storedRecords = [ - ['Country','City List'], + ['Country','CityList'], ['Afghanistan','Kabul'], ['Algeria','Skikda', 'Bchar', 'Batna'], ['American Samoa','Tafuna'], diff --git a/scripts/cypress/integration/spec/roleValidation.spec.js b/scripts/cypress/integration/spec/roleValidation.spec.js index e88c6af853..f9156c7a9f 100644 --- a/scripts/cypress/integration/spec/roleValidation.spec.js +++ b/scripts/cypress/integration/spec/roleValidation.spec.js @@ -236,7 +236,7 @@ export function _viewMenu(roleType, previewMode, navDrawListCnt) { // Download CSV / Upload CSV / Shared View List / Webhook actionsMenuItemsCnt = 4; } else if (roleType == "editor") { - // Download CSV / Upload CSV + // Download CSV / Upload CSV actionsMenuItemsCnt = 2; } From 411ad59b886b90a48994ddbbc6e340689a7502c8 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:44:32 +0530 Subject: [PATCH 4/6] fix: cypress corrections Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .../integration/common/1d_table_view_drag_drop_reorder.js | 2 +- scripts/cypress/integration/common/4f_grid_view_share.js | 2 +- scripts/cypress/integration/common/6b_downloadCsv.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js index 2aa191b0ab..e6582ab0b6 100644 --- a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js +++ b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js @@ -65,7 +65,7 @@ export const genTest = (apiType, dbType) => { validateTreeField(2, "Address"); validateTreeField(12, "Staff"); validateTreeField(13, "ActorInfo"); - validateTreeField(14, "CustomerList"); + validateTreeField(14, "Customer List"); // undo project-tree expand operation cy.get(".nc-project-tree") diff --git a/scripts/cypress/integration/common/4f_grid_view_share.js b/scripts/cypress/integration/common/4f_grid_view_share.js index 8a35a02b3f..c625951b58 100644 --- a/scripts/cypress/integration/common/4f_grid_view_share.js +++ b/scripts/cypress/integration/common/4f_grid_view_share.js @@ -231,7 +231,7 @@ export const genTest = (apiType, dbType) => { const verifyCsv = (retrievedRecords) => { // expected output, statically configured let storedRecords = [ - `Address,District,PostalCode,Phone,Location,CustomerList,Staff List,City,Staff List`, + `Address,District,PostalCode,Phone,Location,Customer List,Staff List,City,Staff List`, `1993 Tabuk Lane,Tamil Nadu,64221,648482415405,[object Object],2,,Tambaram,`, `1661 Abha Drive,Tamil Nadu,14400,270456873752,[object Object],1,,Pudukkottai,`, ]; diff --git a/scripts/cypress/integration/common/6b_downloadCsv.js b/scripts/cypress/integration/common/6b_downloadCsv.js index bac94fdc24..fc920ba8cb 100644 --- a/scripts/cypress/integration/common/6b_downloadCsv.js +++ b/scripts/cypress/integration/common/6b_downloadCsv.js @@ -31,7 +31,7 @@ export const genTest = (apiType, dbType) => { // `Angola,"Benguela, Namibe"`, // ]; let storedRecords = [ - ['Country','CityList'], + ['Country','City List'], ['Afghanistan','Kabul'], ['Algeria','Skikda', 'Bchar', 'Batna'], ['American Samoa','Tafuna'], From 02e013c1504ee0194650e3d194c6a5a2e8b0f6e0 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Mon, 27 Jun 2022 13:23:45 +0530 Subject: [PATCH 5/6] fix: cypress correction for ltar name change Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .../integration/common/1d_table_view_drag_drop_reorder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js index e6582ab0b6..2aa191b0ab 100644 --- a/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js +++ b/scripts/cypress/integration/common/1d_table_view_drag_drop_reorder.js @@ -65,7 +65,7 @@ export const genTest = (apiType, dbType) => { validateTreeField(2, "Address"); validateTreeField(12, "Staff"); validateTreeField(13, "ActorInfo"); - validateTreeField(14, "Customer List"); + validateTreeField(14, "CustomerList"); // undo project-tree expand operation cy.get(".nc-project-tree") From dd5abf43dcb5a84084f5a5d64590fb52eface312 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Mon, 27 Jun 2022 13:56:34 +0530 Subject: [PATCH 6/6] fix: hasmany column naming in metadiff Signed-off-by: Pranav C --- packages/nocodb/src/lib/meta/api/metaDiffApis.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts index 7729796b43..cdcce50557 100644 --- a/packages/nocodb/src/lib/meta/api/metaDiffApis.ts +++ b/packages/nocodb/src/lib/meta/api/metaDiffApis.ts @@ -686,7 +686,7 @@ export async function metaDiffSync(req, res) { } else if (change.relationType === RelationTypes.HAS_MANY) { const title = getUniqueColumnAliasName( childModel.columns, - `${childModel.title || childModel.table_name}List` + `${childModel.title || childModel.table_name} List` ); await Column.insert({ uidt: UITypes.LinkToAnotherRecord,