blob: c9577c6d49f8a3582057a0ea9ac30090212fc478 [file] [log] [blame]
Copybara854996b2021-09-07 19:36:02 +00001// Copyright 2019 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4import {assert} from 'chai';
5import {MrGridTile} from './mr-grid-tile.js';
6
7let element;
8const summary = 'Testing summary of an issue.';
9const testIssue = {
10 projectName: 'Monorail',
11 localId: '2345',
12 summary: summary,
13};
14
15describe('mr-grid-tile', () => {
16 beforeEach(() => {
17 element = document.createElement('mr-grid-tile');
18 element.issue = testIssue;
19 document.body.appendChild(element);
20 });
21
22 afterEach(() => {
23 document.body.removeChild(element);
24 });
25
26 it('initializes', () => {
27 assert.instanceOf(element, MrGridTile);
28 });
29
30 it('properly links', async () => {
31 await element.updateComplete;
32 const tileLink = element.shadowRoot.querySelector('a').getAttribute('href');
33 assert.equal(tileLink, `/p/Monorail/issues/detail?id=2345`);
34 });
35
36 it('summary displays', async () => {
37 await element.updateComplete;
38 const tileSummary =
39 element.shadowRoot.querySelector('.summary').textContent;
40 assert.equal(tileSummary.trim(), summary);
41 });
42
43 it('status displays', async () => {
44 await element.updateComplete;
45 const tileStatus =
46 element.shadowRoot.querySelector('.status').textContent;
47 assert.equal(tileStatus.trim(), '');
48 });
49
50 it('id displays', async () => {
51 await element.updateComplete;
52 const tileId =
53 element.shadowRoot.querySelector('.issue-id').textContent;
54 assert.equal(tileId.trim(), '2345');
55 });
56});