blob: e1823b1ade79f01c9d8965f3a7a43825c0524a2c [file] [log] [blame]
Frank Bordene3d490d2021-03-10 14:28:40 -08001/**
2 * @license
3 * Copyright (C) 2018 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18import '../../../test/common-test-setup-karma';
19import {createChange, createRevision} from '../../../test/test-data-generators';
20import {queryAndAssert} from '../../../test/test-utils';
21import {PatchSetNum} from '../../../types/common';
22import {GrConfirmSubmitDialog} from './gr-confirm-submit-dialog';
23
24const basicFixture = fixtureFromElement('gr-confirm-submit-dialog');
25
26suite('gr-confirm-submit-dialog tests', () => {
27 let element: GrConfirmSubmitDialog;
28
29 setup(() => {
30 element = basicFixture.instantiate();
31 element._initialised = true;
32 });
33
Paladox noneefb58602021-08-13 03:41:38 +000034 test('display', async () => {
Frank Bordene3d490d2021-03-10 14:28:40 -080035 element.action = {label: 'my-label'};
36 element.change = {
37 ...createChange(),
38 subject: 'my-subject',
39 revisions: {},
40 };
Paladox noneefb58602021-08-13 03:41:38 +000041 await flush();
Frank Bordene3d490d2021-03-10 14:28:40 -080042 const header = queryAndAssert(element, '.header');
43 assert.equal(header.textContent!.trim(), 'my-label');
44
45 const message = queryAndAssert(element, '.main p');
46 assert.isNotEmpty(message.textContent);
47 assert.notEqual(message.textContent!.indexOf('my-subject'), -1);
48 });
49
50 test('_computeUnresolvedCommentsWarning', () => {
51 const change = {...createChange(), unresolved_comment_count: 1};
52 assert.equal(
53 element._computeUnresolvedCommentsWarning(change),
54 'Heads Up! 1 unresolved comment.'
55 );
56
57 const change2 = {...createChange(), unresolved_comment_count: 2};
58 assert.equal(
59 element._computeUnresolvedCommentsWarning(change2),
60 'Heads Up! 2 unresolved comments.'
61 );
62 });
63
64 test('_computeHasChangeEdit', () => {
65 const change = {
66 ...createChange(),
67 revisions: {
68 d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
69 ...createRevision(),
70 _number: 'edit' as PatchSetNum,
71 },
72 },
73 unresolved_comment_count: 0,
74 };
75
76 assert.isTrue(element._computeHasChangeEdit(change));
77
78 const change2 = {
79 ...createChange(),
80 revisions: {
81 d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
82 ...createRevision(),
83 _number: 2 as PatchSetNum,
84 },
85 },
86 };
87 assert.isFalse(element._computeHasChangeEdit(change2));
88 });
89});