[FIX] qweb: t-key in t-foreach is mandatory, throws otherwise

This commit is contained in:
Lucas Perais (lpe)
2021-10-26 09:48:31 +02:00
committed by Aaron Bohy
parent c71db28bc6
commit 1296964ae2
8 changed files with 156 additions and 121 deletions
+17 -16
View File
@@ -1,22 +1,23 @@
describe.skip("t-key", () => {
import { renderToString, snapshotEverything } from "../helpers";
snapshotEverything();
describe("t-key", () => {
test("can use t-key directive on a node", () => {
// qweb.addTemplate("test", `<div t-key="beer.id"><t t-esc="beer.name"/></div>`);
// expect(renderToString(qweb, "test", { beer: { id: 12, name: "Chimay Rouge" } })).toBe(
// "<div>Chimay Rouge</div>"
// );
const template = `<div t-key="beer.id"><t t-esc="beer.name"/></div>`;
expect(renderToString(template, { beer: { id: 12, name: "Chimay Rouge" } })).toBe(
"<div>Chimay Rouge</div>"
);
});
test("t-key directive in a list", () => {
// qweb.addTemplate(
// "test",
// `<ul>
// <li t-foreach="beers" t-as="beer" t-key="beer.id"><t t-esc="beer.name"/></li>
// </ul>`
// );
// expect(
// renderToString(qweb, "test", {
// beers: [{ id: 12, name: "Chimay Rouge" }],
// })
// ).toMatchSnapshot();
const template = `<ul>
<li t-foreach="beers" t-as="beer" t-key="beer.id"><t t-esc="beer.name"/></li>
</ul>`;
expect(
renderToString(template, {
beers: [{ id: 12, name: "Chimay Rouge" }],
})
).toBe("<ul><li>Chimay Rouge</li></ul>");
});
});