Convert gr-confirm-submit-dialog_test to typescript
Change-Id: Ice8474ae49d0a1e0fe556f7f114b96b28f8063ba
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.ts b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.ts
new file mode 100644
index 0000000..e9f3019
--- /dev/null
+++ b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.ts
@@ -0,0 +1,89 @@
+/**
+ * @license
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import '../../../test/common-test-setup-karma';
+import {createChange, createRevision} from '../../../test/test-data-generators';
+import {queryAndAssert} from '../../../test/test-utils';
+import {PatchSetNum} from '../../../types/common';
+import {GrConfirmSubmitDialog} from './gr-confirm-submit-dialog';
+
+const basicFixture = fixtureFromElement('gr-confirm-submit-dialog');
+
+suite('gr-confirm-submit-dialog tests', () => {
+ let element: GrConfirmSubmitDialog;
+
+ setup(() => {
+ element = basicFixture.instantiate();
+ element._initialised = true;
+ });
+
+ test('display', () => {
+ element.action = {label: 'my-label'};
+ element.change = {
+ ...createChange(),
+ subject: 'my-subject',
+ revisions: {},
+ };
+ flush();
+ const header = queryAndAssert(element, '.header');
+ assert.equal(header.textContent!.trim(), 'my-label');
+
+ const message = queryAndAssert(element, '.main p');
+ assert.isNotEmpty(message.textContent);
+ assert.notEqual(message.textContent!.indexOf('my-subject'), -1);
+ });
+
+ test('_computeUnresolvedCommentsWarning', () => {
+ const change = {...createChange(), unresolved_comment_count: 1};
+ assert.equal(
+ element._computeUnresolvedCommentsWarning(change),
+ 'Heads Up! 1 unresolved comment.'
+ );
+
+ const change2 = {...createChange(), unresolved_comment_count: 2};
+ assert.equal(
+ element._computeUnresolvedCommentsWarning(change2),
+ 'Heads Up! 2 unresolved comments.'
+ );
+ });
+
+ test('_computeHasChangeEdit', () => {
+ const change = {
+ ...createChange(),
+ revisions: {
+ d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
+ ...createRevision(),
+ _number: 'edit' as PatchSetNum,
+ },
+ },
+ unresolved_comment_count: 0,
+ };
+
+ assert.isTrue(element._computeHasChangeEdit(change));
+
+ const change2 = {
+ ...createChange(),
+ revisions: {
+ d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
+ ...createRevision(),
+ _number: 2 as PatchSetNum,
+ },
+ },
+ };
+ assert.isFalse(element._computeHasChangeEdit(change2));
+ });
+});