-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtemba-template-editor.test.ts
54 lines (47 loc) · 1.7 KB
/
temba-template-editor.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { html, fixture, expect } from '@open-wc/testing';
import { TemplateEditor } from '../src/templates/TemplateEditor';
import { TemplateResult } from 'lit';
import { assertScreenshot, getClip } from './utils.test';
const createTemplateEditor = async (def: TemplateResult) => {
const parentNode = document.createElement('div');
parentNode.setAttribute('style', 'width: 520px;');
const templateEditor = await fixture<TemplateEditor>(def, { parentNode });
await templateEditor.updateComplete;
return templateEditor;
};
describe('TemplateEditor', () => {
it('renders template content', async () => {
const templateEditor = await createTemplateEditor(html`
<temba-template-editor
url="/static/api/templates.json"
template="2b1cdee4-71b4-4c9a-805c-9bce6a2e7277"
>
</temba-template-editor>
`);
const clip = getClip(templateEditor);
clip.height = 500;
clip.bottom = clip.top + clip.height;
await assertScreenshot('templates/default', clip);
});
it('renders an error message no language is found', async () => {
const templateEditor = await createTemplateEditor(html`
<temba-template-editor
url="/static/api/templates.json"
template="3b1cdee4-71b4-4c9a-805c-9bce6a2e7277"
>
</temba-template-editor>
`);
const clip = getClip(templateEditor);
clip.height = 200;
clip.bottom = clip.top + clip.height;
await assertScreenshot('templates/unapproved', clip);
const errorMessage = (
templateEditor.shadowRoot.querySelector(
'.error-message'
) as HTMLDivElement
).innerText;
expect(errorMessage).to.equal(
'This template currently has no approved translations.'
);
});
});