多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
3.4 KiB

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],
});
}
}
});
});