Skip to content

Commit b6c9dc8

Browse files
committed
chore: code tidying
1 parent a87acd3 commit b6c9dc8

File tree

2 files changed

+25
-32
lines changed

2 files changed

+25
-32
lines changed

packages/scripts/src/commands/app-data/convert/processors/flowParser/parsers/template.parser.spec.ts

+22-23
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ describe("Template Parser PostProcessor", () => {
1919
});
2020

2121
it("Replaces empty row type with set_variable", () => {
22-
const res = parser.postProcessRow({ ...ROW_BASE });
23-
expect(res).toEqual({ ...ROW_BASE, type: "set_variable" });
22+
const res = parser.postProcessRow({ ...ROW_BASE, type: "" as any });
23+
expect(res.type).toEqual("set_variable");
2424
});
2525

2626
// TODO - notify authors of change (can now auto gen multiple)
@@ -34,14 +34,15 @@ describe("Template Parser PostProcessor", () => {
3434
],
3535
});
3636
expect(res.rows).toEqual([
37+
// Note - suffix numbers start at 2 as flow sheet would typically have row 1 as header row
3738
{
38-
_nested_name: "accordion_1",
39-
name: "accordion_1",
39+
_nested_name: "accordion_2",
40+
name: "accordion_2",
4041
type: "accordion",
4142
},
4243
{
43-
_nested_name: "accordion_2",
44-
name: "accordion_2",
44+
_nested_name: "accordion_3",
45+
name: "accordion_3",
4546
type: "accordion",
4647
},
4748
]);
@@ -119,7 +120,6 @@ describe("Template Parser PostProcessor", () => {
119120
{ trigger: "click", action_id: "", args: ["@local.my_action_list", "some_value"] },
120121
],
121122
});
122-
console.log("action", res.action_list);
123123
expect(res.action_list[0].args).toEqual(["this.value", "some_value"]);
124124
});
125125

@@ -148,33 +148,32 @@ describe("Template Parser PostProcessor", () => {
148148
expect(res._dynamicDependencies).toEqual({ "@local.dynamic_value": ["value"] });
149149
});
150150

151-
fit("Creates nested path names for child rows", () => {
151+
it("Creates nested path names for child rows", () => {
152152
const rows: FlowTypes.TemplateRow[] = [
153153
{
154154
_nested_name: "my_items",
155155
name: "my_items",
156156
type: "items",
157-
rows: [{ name: "nested_text", type: "text", _nested_name: "nested_text" }],
157+
// Handle case of both named and unnamed nested row names
158+
rows: [
159+
{
160+
...ROW_BASE,
161+
type: "text",
162+
name: "named_text",
163+
},
164+
{ ...ROW_BASE, type: "text" },
165+
],
158166
},
159167
];
160168
const res = parser.run({ flow_type: "template", flow_name: "test_nested", rows });
161169
const itemRows = res.rows[0].rows;
162-
console.log("itemRows", itemRows);
163-
expect(itemRows).toEqual([
164-
{ name: "nested_text", type: "text", _nested_name: "my_items.nested_text" },
165-
]);
166-
// TODO - include auto-gen nested names
170+
const nestedNames = itemRows.map((n) => n._nested_name);
171+
expect(nestedNames).toEqual(["my_items.named_text", "my_items.text_2"]);
167172
});
168173
});
169174

170175
describe("Template Parser [QC]", () => {
171-
it("Ensures answer_list parameters refer to list variables", () => {
172-
const res = parser.postProcessRow({ ...ROW_BASE });
173-
expect(res).toEqual({ ...ROW_BASE });
174-
});
175-
176-
it("Warns if ", () => {
177-
const res = parser.postProcessRow({ ...ROW_BASE });
178-
expect(res).toEqual({ ...ROW_BASE });
179-
});
176+
// TODO - confirm what checks to include and add to code
177+
// it("Ensures answer_list parameters refer to list variables", () => {
178+
// });
180179
});

packages/scripts/src/commands/app-data/convert/processors/flowParser/parsers/template.parser.ts

+3-9
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,7 @@ import {
99
} from "../../../utils";
1010

1111
export class TemplateParser extends DefaultParser {
12-
postProcessRow(
13-
row: FlowTypes.TemplateRow,
14-
rowNumber = 2,
15-
nestedPath?: string,
16-
nestedRowNumber?: number
17-
) {
12+
postProcessRow(row: FlowTypes.TemplateRow, rowNumber = 1, nestedPath?: string) {
1813
// remove empty rows
1914
if (Object.keys(row).length === 0) {
2015
return;
@@ -37,7 +32,7 @@ export class TemplateParser extends DefaultParser {
3732
}
3833
}
3934
// track path to row when nested
40-
row._nested_name = nestedPath ? `${nestedPath}.${row.name}_${nestedRowNumber}` : row.name;
35+
row._nested_name = nestedPath ? `${nestedPath}.${row.name}` : row.name;
4136
// convert any variables (local/global) list or collection strings (e.g. 'my_list_1')
4237
// in similar way to how top-level properties get converted by default parser
4338
if (row.value && typeof row.value === "string") {
@@ -63,7 +58,7 @@ export class TemplateParser extends DefaultParser {
6358

6459
// handle nested rows in same way
6560
if (row.rows) {
66-
row.rows = row.rows.map((r, i) => this.postProcessRow(r, rowNumber, row._nested_name, i + 1));
61+
row.rows = row.rows.map((r, i) => this.postProcessRow(r, i + 1, row._nested_name));
6762
}
6863

6964
if (row.exclude_from_translation) {
@@ -87,7 +82,6 @@ export class TemplateParser extends DefaultParser {
8782
/**
8883
* Ensure any local variables defined with `_list` in their name are correctly
8984
* parsed into list format
90-
* TODO - add tests
9185
*/
9286
private parseTemplateList(value: any) {
9387
// Assume all falsy values indicate an empty array

0 commit comments

Comments
 (0)