| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright 2014 The Chromium Authors. All rights reserved. | |
| 3 Use of this source code is governed by a BSD-style license that can be | |
| 4 found in the LICENSE file. | |
| 5 --> | |
| 6 | |
| 7 <link rel="import" href="../ct-failure-card.html"> | |
| 8 | |
| 9 <link rel="import" href="../../model/ct-commit-list-mock.html"> | |
| 10 <link rel="import" href="../../model/ct-commit-log-mock.html"> | |
| 11 <link rel="import" href="../../model/ct-failure-group.html"> | |
| 12 | |
| 13 <script> | |
| 14 (function () { | |
| 15 | |
| 16 var assert = chai.assert; | |
| 17 | |
| 18 describe('ct-failure-card', function() { | |
| 19 var group; | |
| 20 var card; | |
| 21 var failures; | |
| 22 | |
| 23 beforeEach(function(done) { | |
| 24 card = document.createElement('ct-failure-card'); | |
| 25 var cl = new CTCommitListMock(); | |
| 26 group = new CTFailureGroup('', new CTSheriffFailureGroupData([ | |
| 27 new CTFailure('autobot', 'unknown', {someBuilder: {key: 'a'}}, {'blink':
158547}, | |
| 28 {'blink':158544})], cl)); | |
| 29 card.group = group; | |
| 30 card.commitLog = new CTCommitLogMock(); | |
| 31 setTimeout(done); | |
| 32 }); | |
| 33 | |
| 34 describe('failure card UI', function() { | |
| 35 | |
| 36 it('should select the correct card type', function(done) { | |
| 37 assert(card.shadowRoot.querySelector('ct-bot-failure-card') != null, | |
| 38 'missing sheriff card'); | |
| 39 card.group = new CTFailureGroup('', new CTTrooperFailureGroupData( | |
| 40 'details', 'url', {percent_over_median_slo: '6%', | |
| 41 percent_over_max_slo: '7%'}, 'cq_latency', '')); | |
| 42 setTimeout(function() { | |
| 43 assert(card.shadowRoot.querySelector('ct-trooper-card') != null, | |
| 44 'missing cq-latency card'); | |
| 45 card.group.data.type = 'tree_status'; | |
| 46 setTimeout(function() { | |
| 47 assert(card.shadowRoot.querySelector('ct-trooper-card') != | |
| 48 null, 'missing tree-status card'); | |
| 49 card.group.data.type = 'cycle_time'; | |
| 50 setTimeout(function() { | |
| 51 assert(card.shadowRoot.querySelector('ct-trooper-card') != | |
| 52 null, 'missing cycle-time card'); | |
| 53 done(); | |
| 54 }); | |
| 55 }); | |
| 56 }); | |
| 57 }); | |
| 58 | |
| 59 it('should have commit summaries', function(done) { | |
| 60 // Expand the first repository so that the <ct-commit>'s are generated. | |
| 61 card.group.data.commitList.repositories[0].expanded = true; | |
| 62 | |
| 63 setTimeout(function() { | |
| 64 var list = card.shadowRoot.querySelector('::shadow ct-commit-list'); | |
| 65 var commits = list.shadowRoot.querySelectorAll('ct-commit'); | |
| 66 assert(commits[1].data); | |
| 67 assert(commits[1].data.summary); | |
| 68 done(); | |
| 69 }); | |
| 70 }); | |
| 71 | |
| 72 it('removing a commit summary', function(done) { | |
| 73 card.commitLog.commits['blink']['158545'].summary = undefined; | |
| 74 card.group.data.commitList.repositories[0].expanded = true; | |
| 75 | |
| 76 setTimeout(function() { | |
| 77 var list = card.shadowRoot.querySelector('::shadow ct-commit-list'); | |
| 78 var commits = list.shadowRoot.querySelectorAll('ct-commit'); | |
| 79 assert.notOk(commits[0].data.summary); | |
| 80 done(); | |
| 81 }); | |
| 82 }); | |
| 83 | |
| 84 it('examine should dispatch event', function(done) { | |
| 85 card.addEventListener('ct-examine-failures', function(event) { | |
| 86 assert.deepEqual(event.detail.failures, card.group.failures); | |
| 87 done(); | |
| 88 }); | |
| 89 | |
| 90 card.shadowRoot.getElementById('examine').dispatchEvent(new CustomEvent('t
ap')); | |
| 91 }); | |
| 92 | |
| 93 it('adding a bug number should show link', function(done) { | |
| 94 group.setBug(123); | |
| 95 | |
| 96 setTimeout(function() { | |
| 97 var links = card.shadowRoot.querySelectorAll('a'); | |
| 98 assert.lengthOf(links, 1); | |
| 99 assert.match(links[0].href, /crbug.com\/123/); | |
| 100 done(); | |
| 101 }); | |
| 102 }); | |
| 103 | |
| 104 it('should not show link without a bug number', function() { | |
| 105 var links = card.shadowRoot.querySelectorAll('a'); | |
| 106 assert.lengthOf(links, 0); | |
| 107 }); | |
| 108 | |
| 109 it('clicking link bug should show dialog', function(done) { | |
| 110 card.shadowRoot.getElementById('link-bug').dispatchEvent(new CustomEvent('
tap')); | |
| 111 setTimeout(function() { | |
| 112 var dialog = card.shadowRoot.getElementById('bugDialog'); | |
| 113 assert.isTrue(dialog.opened); | |
| 114 var bugField = card.shadowRoot.getElementById('bug'); | |
| 115 bugField.value = '999'; | |
| 116 card.shadowRoot.getElementById('dialogOk').dispatchEvent(new CustomEvent
('tap')); | |
| 117 setTimeout(function() { | |
| 118 assert.equal(group.bug, 'http://crbug.com/999'); | |
| 119 assert.equal(group.bugLabel, 'Bug 999'); | |
| 120 assert.equal(group._annotation.bug, 'http://crbug.com/999'); | |
| 121 done(); | |
| 122 }); | |
| 123 }); | |
| 124 }); | |
| 125 | |
| 126 it('entering URLs should work for bugs', function(done) { | |
| 127 card.shadowRoot.getElementById('link-bug').dispatchEvent(new CustomEvent('
tap')); | |
| 128 setTimeout(function() { | |
| 129 var dialog = card.shadowRoot.getElementById('bugDialog'); | |
| 130 assert.isTrue(dialog.opened); | |
| 131 var bugField = card.shadowRoot.getElementById('bug'); | |
| 132 bugField.value = 'http://foo.com/?id=888'; | |
| 133 card.shadowRoot.getElementById('dialogOk').dispatchEvent(new CustomEvent
('tap')); | |
| 134 setTimeout(function() { | |
| 135 assert.equal(group.bug, 'http://foo.com/?id=888'); | |
| 136 assert.equal(group.bugLabel, 'Bug 888'); | |
| 137 assert.equal(group._annotation.bug, 'http://foo.com/?id=888'); | |
| 138 done(); | |
| 139 }); | |
| 140 }); | |
| 141 }); | |
| 142 | |
| 143 it('remove bug link should work', function(done) { | |
| 144 group.setBug(123); | |
| 145 card.shadowRoot.getElementById('link-bug').dispatchEvent(new CustomEvent('
tap')); | |
| 146 setTimeout(function() { | |
| 147 var dialog = card.shadowRoot.getElementById('bugDialog'); | |
| 148 assert.isTrue(dialog.opened); | |
| 149 card.shadowRoot.getElementById('dialogRemoveBug').dispatchEvent(new Cust
omEvent('tap')); | |
| 150 setTimeout(function() { | |
| 151 assert.isUndefined(group.bug); | |
| 152 assert.isUndefined(group.bugLabel); | |
| 153 done(); | |
| 154 }); | |
| 155 }); | |
| 156 }); | |
| 157 }); | |
| 158 | |
| 159 }); | |
| 160 | |
| 161 })() | |
| 162 </script> | |
| OLD | NEW |