mirror of https://github.com/nocodb/nocodb
Raju Udava
2 years ago
committed by
Muhammed Mustafa
3 changed files with 199 additions and 6 deletions
@ -0,0 +1,152 @@ |
|||||||
|
import { test } from "@playwright/test"; |
||||||
|
import { DashboardPage } from "../pages/Dashboard"; |
||||||
|
import setup from "../setup"; |
||||||
|
|
||||||
|
// Storing one additional dummy value "10" at end of every input array
|
||||||
|
// this will trigger update to previously committed data
|
||||||
|
const durationData = [ |
||||||
|
{ |
||||||
|
format: "h:mm (e.g. 1:23)", |
||||||
|
input: ["1:30", "30", "60", "80", "12:34", "15:130", "123123", "10"], |
||||||
|
output: ["01:30", "00:30", "01:00", "01:20", "12:34", "17:10", "2052:03"], |
||||||
|
}, |
||||||
|
{ |
||||||
|
format: "h:mm:ss (e.g. 3:45, 1:23:40)", |
||||||
|
input: [ |
||||||
|
"11:22:33", |
||||||
|
"1234", |
||||||
|
"50", |
||||||
|
"1:1111", |
||||||
|
"1:11:1111", |
||||||
|
"15:130", |
||||||
|
"123123", |
||||||
|
"10", |
||||||
|
], |
||||||
|
output: [ |
||||||
|
"11:22:33", |
||||||
|
"00:20:34", |
||||||
|
"00:00:50", |
||||||
|
"00:19:31", |
||||||
|
"01:29:31", |
||||||
|
"00:17:10", |
||||||
|
"34:12:03", |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
format: "h:mm:ss.s (e.g. 3:34.6, 1:23:40.0)", |
||||||
|
input: [ |
||||||
|
"1234", |
||||||
|
"12:34", |
||||||
|
"12:34:56", |
||||||
|
"12:34:999", |
||||||
|
"12:999:56", |
||||||
|
"12:34:56.12", |
||||||
|
"12:34:56.199", |
||||||
|
"10", |
||||||
|
], |
||||||
|
output: [ |
||||||
|
"00:20:34.0", |
||||||
|
"00:12:34.0", |
||||||
|
"12:34:56.0", |
||||||
|
"12:50:39.0", |
||||||
|
"28:39:56.0", |
||||||
|
"12:34:56.1", |
||||||
|
"12:34:56.2", |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
format: "h:mm:ss.ss (e.g. 3.45.67, 1:23:40.00)", |
||||||
|
input: [ |
||||||
|
"1234", |
||||||
|
"12:34", |
||||||
|
"12:34:56", |
||||||
|
"12:34:999", |
||||||
|
"12:999:56", |
||||||
|
"12:34:56.12", |
||||||
|
"12:34:56.199", |
||||||
|
"10", |
||||||
|
], |
||||||
|
output: [ |
||||||
|
"00:20:34.00", |
||||||
|
"00:12:34.00", |
||||||
|
"12:34:56.00", |
||||||
|
"12:50:39.00", |
||||||
|
"28:39:56.00", |
||||||
|
"12:34:56.12", |
||||||
|
"12:34:56.20", |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
format: "h:mm:ss.sss (e.g. 3.45.678, 1:23:40.000)", |
||||||
|
input: [ |
||||||
|
"1234", |
||||||
|
"12:34", |
||||||
|
"12:34:56", |
||||||
|
"12:34:999", |
||||||
|
"12:999:56", |
||||||
|
"12:34:56.12", |
||||||
|
"12:34:56.199", |
||||||
|
"10", |
||||||
|
], |
||||||
|
output: [ |
||||||
|
"00:20:34.000", |
||||||
|
"00:12:34.000", |
||||||
|
"12:34:56.000", |
||||||
|
"12:50:39.000", |
||||||
|
"28:39:56.000", |
||||||
|
"12:34:56.012", |
||||||
|
"12:34:56.199", |
||||||
|
], |
||||||
|
}, |
||||||
|
]; |
||||||
|
|
||||||
|
test.describe("Duration column", () => { |
||||||
|
let dashboard: DashboardPage; |
||||||
|
let context: any; |
||||||
|
|
||||||
|
test.beforeEach(async ({ page }) => { |
||||||
|
context = await setup({ page }); |
||||||
|
dashboard = new DashboardPage(page, context.project); |
||||||
|
}); |
||||||
|
|
||||||
|
test("Create duration column", async () => { |
||||||
|
await dashboard.treeView.createTable({ title: "tablex" }); |
||||||
|
// Create duration column
|
||||||
|
await dashboard.grid.column.create({ |
||||||
|
title: "NC_DURATION_0", |
||||||
|
type: "Duration", |
||||||
|
format: durationData[0].format, |
||||||
|
}); |
||||||
|
for (let i = 0; i < 8; i++) { |
||||||
|
await dashboard.grid.addNewRow({ |
||||||
|
index: i, |
||||||
|
columnHeader: "NC_DURATION_0", |
||||||
|
value: i.toString(), |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
for (let i = 0; i < durationData.length; i++) { |
||||||
|
// Edit duration column
|
||||||
|
await dashboard.grid.column.openEdit({ |
||||||
|
title: "NC_DURATION_0", |
||||||
|
type: "Duration", |
||||||
|
format: durationData[i].format, |
||||||
|
}); |
||||||
|
await dashboard.grid.column.save({ isUpdated: true }); |
||||||
|
for (let i = 0; i < durationData[i].input.length; i++) { |
||||||
|
await dashboard.grid.editRow({ |
||||||
|
index: i, |
||||||
|
columnHeader: "NC_DURATION_0", |
||||||
|
value: durationData[i].input[i], |
||||||
|
}); |
||||||
|
} |
||||||
|
for (let i = 0; i < durationData[i].output.length; i++) { |
||||||
|
await dashboard.grid.cell.verify({ |
||||||
|
index: i, |
||||||
|
columnHeader: "NC_DURATION_0", |
||||||
|
value: durationData[i].output[i], |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
Loading…
Reference in new issue