]> source.dussan.org Git - sonarqube.git/blob
311e7f29f8f28254957eb51676cefabe3f6a0db8
[sonarqube.git] /
1 // Jest Snapshot v1, https://goo.gl/fbAQLP
2
3 exports[`should render correctly 1`] = `
4 <DeferredSpinner
5   loading={false}
6 >
7   <div
8     className="big-padded hotspot-content"
9   >
10     <div
11       className="huge-spacer-bottom display-flex-space-between"
12     >
13       <strong
14         className="big big-spacer-right"
15       >
16         '3' is a magic number.
17       </strong>
18       <div
19         className="display-flex-row flex-0"
20       >
21         <div
22           className="dropdown spacer-right flex-1-0-auto"
23         >
24           <Button
25             onClick={[MockFunction]}
26           >
27             hotspots.comment.open
28           </Button>
29         </div>
30         <div
31           className="dropdown spacer-right flex-1-0-auto"
32         >
33           <HotspotOpenInIdeButton
34             hotspotKey="01fc972e-2a3c-433e-bcae-0bd7f88f5123"
35             projectKey="my-project"
36           />
37         </div>
38         <ClipboardButton
39           className="flex-1-0-auto"
40           copyValue="http://localhost/security_hotspots?id=my-project&branch=branch-6.7&hotspots=01fc972e-2a3c-433e-bcae-0bd7f88f5123"
41         >
42           <LinkIcon
43             className="spacer-right"
44           />
45           <span>
46             hotspots.get_permalink
47           </span>
48         </ClipboardButton>
49       </div>
50     </div>
51     <div
52       className="huge-spacer-bottom display-flex-row"
53     >
54       <div
55         className="hotspot-information display-flex-column display-flex-space-between"
56       >
57         <div
58           className="display-flex-center"
59         >
60           <span
61             className="big-spacer-right"
62           >
63             category
64           </span>
65           <strong
66             className="nowrap"
67           >
68             SQL injection
69           </strong>
70         </div>
71         <div
72           className="display-flex-center"
73         >
74           <span
75             className="big-spacer-right"
76           >
77             hotspots.risk_exposure
78           </span>
79           <div
80             className="hotspot-risk-badge HIGH"
81           >
82             risk_exposure.HIGH
83           </div>
84         </div>
85         <div
86           className="display-flex-center"
87         >
88           <span
89             className="big-spacer-right"
90           >
91             assignee
92           </span>
93           <div>
94             <Connect(withCurrentUser(Assignee))
95               hotspot={
96                 Object {
97                   "assignee": "assignee",
98                   "assigneeUser": Object {
99                     "active": true,
100                     "local": true,
101                     "login": "assignee",
102                     "name": "John Doe",
103                   },
104                   "author": "author",
105                   "authorUser": Object {
106                     "active": true,
107                     "local": true,
108                     "login": "author",
109                     "name": "John Doe",
110                   },
111                   "canChangeStatus": true,
112                   "changelog": Array [],
113                   "comment": Array [],
114                   "component": Object {
115                     "breadcrumbs": Array [],
116                     "key": "my-project",
117                     "name": "MyProject",
118                     "qualifier": "FIL",
119                     "qualityGate": Object {
120                       "isDefault": true,
121                       "key": "30",
122                       "name": "Sonar way",
123                     },
124                     "qualityProfiles": Array [
125                       Object {
126                         "deleted": false,
127                         "key": "my-qp",
128                         "language": "ts",
129                         "name": "Sonar way",
130                       },
131                     ],
132                     "tags": Array [],
133                   },
134                   "creationDate": "2013-05-13T17:55:41+0200",
135                   "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
136                   "line": 142,
137                   "message": "'3' is a magic number.",
138                   "project": Object {
139                     "breadcrumbs": Array [],
140                     "key": "my-project",
141                     "name": "MyProject",
142                     "qualifier": "TRK",
143                     "qualityGate": Object {
144                       "isDefault": true,
145                       "key": "30",
146                       "name": "Sonar way",
147                     },
148                     "qualityProfiles": Array [
149                       Object {
150                         "deleted": false,
151                         "key": "my-qp",
152                         "language": "ts",
153                         "name": "Sonar way",
154                       },
155                     ],
156                     "tags": Array [],
157                   },
158                   "resolution": "FIXED",
159                   "rule": Object {
160                     "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
161                     "key": "squid:S2077",
162                     "name": "That rule",
163                     "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
164                     "securityCategory": "sql-injection",
165                     "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
166                     "vulnerabilityProbability": "HIGH",
167                   },
168                   "status": "REVIEWED",
169                   "textRange": Object {
170                     "endLine": 142,
171                     "endOffset": 83,
172                     "startLine": 142,
173                     "startOffset": 26,
174                   },
175                   "updateDate": "2013-05-13T17:55:42+0200",
176                   "users": Array [
177                     Object {
178                       "active": true,
179                       "local": true,
180                       "login": "assignee",
181                       "name": "John Doe",
182                     },
183                     Object {
184                       "active": true,
185                       "local": true,
186                       "login": "author",
187                       "name": "John Doe",
188                     },
189                   ],
190                 }
191               }
192               onAssigneeChange={[MockFunction]}
193             />
194           </div>
195         </div>
196       </div>
197       <div
198         className="huge-spacer-left"
199       >
200         <Connect(withCurrentUser(Status))
201           hotspot={
202             Object {
203               "assignee": "assignee",
204               "assigneeUser": Object {
205                 "active": true,
206                 "local": true,
207                 "login": "assignee",
208                 "name": "John Doe",
209               },
210               "author": "author",
211               "authorUser": Object {
212                 "active": true,
213                 "local": true,
214                 "login": "author",
215                 "name": "John Doe",
216               },
217               "canChangeStatus": true,
218               "changelog": Array [],
219               "comment": Array [],
220               "component": Object {
221                 "breadcrumbs": Array [],
222                 "key": "my-project",
223                 "name": "MyProject",
224                 "qualifier": "FIL",
225                 "qualityGate": Object {
226                   "isDefault": true,
227                   "key": "30",
228                   "name": "Sonar way",
229                 },
230                 "qualityProfiles": Array [
231                   Object {
232                     "deleted": false,
233                     "key": "my-qp",
234                     "language": "ts",
235                     "name": "Sonar way",
236                   },
237                 ],
238                 "tags": Array [],
239               },
240               "creationDate": "2013-05-13T17:55:41+0200",
241               "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
242               "line": 142,
243               "message": "'3' is a magic number.",
244               "project": Object {
245                 "breadcrumbs": Array [],
246                 "key": "my-project",
247                 "name": "MyProject",
248                 "qualifier": "TRK",
249                 "qualityGate": Object {
250                   "isDefault": true,
251                   "key": "30",
252                   "name": "Sonar way",
253                 },
254                 "qualityProfiles": Array [
255                   Object {
256                     "deleted": false,
257                     "key": "my-qp",
258                     "language": "ts",
259                     "name": "Sonar way",
260                   },
261                 ],
262                 "tags": Array [],
263               },
264               "resolution": "FIXED",
265               "rule": Object {
266                 "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
267                 "key": "squid:S2077",
268                 "name": "That rule",
269                 "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
270                 "securityCategory": "sql-injection",
271                 "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
272                 "vulnerabilityProbability": "HIGH",
273               },
274               "status": "REVIEWED",
275               "textRange": Object {
276                 "endLine": 142,
277                 "endOffset": 83,
278                 "startLine": 142,
279                 "startOffset": 26,
280               },
281               "updateDate": "2013-05-13T17:55:42+0200",
282               "users": Array [
283                 Object {
284                   "active": true,
285                   "local": true,
286                   "login": "assignee",
287                   "name": "John Doe",
288                 },
289                 Object {
290                   "active": true,
291                   "local": true,
292                   "login": "author",
293                   "name": "John Doe",
294                 },
295               ],
296             }
297           }
298           onStatusChange={[MockFunction]}
299         />
300       </div>
301     </div>
302     <HotspotSnippetContainer
303       branchLike={
304         Object {
305           "analysisDate": "2018-01-01",
306           "excludedFromPurge": true,
307           "isMain": false,
308           "name": "branch-6.7",
309         }
310       }
311       component={
312         Object {
313           "breadcrumbs": Array [],
314           "key": "my-project",
315           "name": "MyProject",
316           "qualifier": "TRK",
317           "qualityGate": Object {
318             "isDefault": true,
319             "key": "30",
320             "name": "Sonar way",
321           },
322           "qualityProfiles": Array [
323             Object {
324               "deleted": false,
325               "key": "my-qp",
326               "language": "ts",
327               "name": "Sonar way",
328             },
329           ],
330           "tags": Array [],
331         }
332       }
333       hotspot={
334         Object {
335           "assignee": "assignee",
336           "assigneeUser": Object {
337             "active": true,
338             "local": true,
339             "login": "assignee",
340             "name": "John Doe",
341           },
342           "author": "author",
343           "authorUser": Object {
344             "active": true,
345             "local": true,
346             "login": "author",
347             "name": "John Doe",
348           },
349           "canChangeStatus": true,
350           "changelog": Array [],
351           "comment": Array [],
352           "component": Object {
353             "breadcrumbs": Array [],
354             "key": "my-project",
355             "name": "MyProject",
356             "qualifier": "FIL",
357             "qualityGate": Object {
358               "isDefault": true,
359               "key": "30",
360               "name": "Sonar way",
361             },
362             "qualityProfiles": Array [
363               Object {
364                 "deleted": false,
365                 "key": "my-qp",
366                 "language": "ts",
367                 "name": "Sonar way",
368               },
369             ],
370             "tags": Array [],
371           },
372           "creationDate": "2013-05-13T17:55:41+0200",
373           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
374           "line": 142,
375           "message": "'3' is a magic number.",
376           "project": Object {
377             "breadcrumbs": Array [],
378             "key": "my-project",
379             "name": "MyProject",
380             "qualifier": "TRK",
381             "qualityGate": Object {
382               "isDefault": true,
383               "key": "30",
384               "name": "Sonar way",
385             },
386             "qualityProfiles": Array [
387               Object {
388                 "deleted": false,
389                 "key": "my-qp",
390                 "language": "ts",
391                 "name": "Sonar way",
392               },
393             ],
394             "tags": Array [],
395           },
396           "resolution": "FIXED",
397           "rule": Object {
398             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
399             "key": "squid:S2077",
400             "name": "That rule",
401             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
402             "securityCategory": "sql-injection",
403             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
404             "vulnerabilityProbability": "HIGH",
405           },
406           "status": "REVIEWED",
407           "textRange": Object {
408             "endLine": 142,
409             "endOffset": 83,
410             "startLine": 142,
411             "startOffset": 26,
412           },
413           "updateDate": "2013-05-13T17:55:42+0200",
414           "users": Array [
415             Object {
416               "active": true,
417               "local": true,
418               "login": "assignee",
419               "name": "John Doe",
420             },
421             Object {
422               "active": true,
423               "local": true,
424               "login": "author",
425               "name": "John Doe",
426             },
427           ],
428         }
429       }
430     />
431     <HotspotViewerTabs
432       hotspot={
433         Object {
434           "assignee": "assignee",
435           "assigneeUser": Object {
436             "active": true,
437             "local": true,
438             "login": "assignee",
439             "name": "John Doe",
440           },
441           "author": "author",
442           "authorUser": Object {
443             "active": true,
444             "local": true,
445             "login": "author",
446             "name": "John Doe",
447           },
448           "canChangeStatus": true,
449           "changelog": Array [],
450           "comment": Array [],
451           "component": Object {
452             "breadcrumbs": Array [],
453             "key": "my-project",
454             "name": "MyProject",
455             "qualifier": "FIL",
456             "qualityGate": Object {
457               "isDefault": true,
458               "key": "30",
459               "name": "Sonar way",
460             },
461             "qualityProfiles": Array [
462               Object {
463                 "deleted": false,
464                 "key": "my-qp",
465                 "language": "ts",
466                 "name": "Sonar way",
467               },
468             ],
469             "tags": Array [],
470           },
471           "creationDate": "2013-05-13T17:55:41+0200",
472           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
473           "line": 142,
474           "message": "'3' is a magic number.",
475           "project": Object {
476             "breadcrumbs": Array [],
477             "key": "my-project",
478             "name": "MyProject",
479             "qualifier": "TRK",
480             "qualityGate": Object {
481               "isDefault": true,
482               "key": "30",
483               "name": "Sonar way",
484             },
485             "qualityProfiles": Array [
486               Object {
487                 "deleted": false,
488                 "key": "my-qp",
489                 "language": "ts",
490                 "name": "Sonar way",
491               },
492             ],
493             "tags": Array [],
494           },
495           "resolution": "FIXED",
496           "rule": Object {
497             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
498             "key": "squid:S2077",
499             "name": "That rule",
500             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
501             "securityCategory": "sql-injection",
502             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
503             "vulnerabilityProbability": "HIGH",
504           },
505           "status": "REVIEWED",
506           "textRange": Object {
507             "endLine": 142,
508             "endOffset": 83,
509             "startLine": 142,
510             "startOffset": 26,
511           },
512           "updateDate": "2013-05-13T17:55:42+0200",
513           "users": Array [
514             Object {
515               "active": true,
516               "local": true,
517               "login": "assignee",
518               "name": "John Doe",
519             },
520             Object {
521               "active": true,
522               "local": true,
523               "login": "author",
524               "name": "John Doe",
525             },
526           ],
527         }
528       }
529     />
530     <HotspotReviewHistoryAndComments
531       commentTextRef={
532         Object {
533           "current": null,
534         }
535       }
536       commentVisible={false}
537       currentUser={
538         Object {
539           "isLoggedIn": false,
540         }
541       }
542       hotspot={
543         Object {
544           "assignee": "assignee",
545           "assigneeUser": Object {
546             "active": true,
547             "local": true,
548             "login": "assignee",
549             "name": "John Doe",
550           },
551           "author": "author",
552           "authorUser": Object {
553             "active": true,
554             "local": true,
555             "login": "author",
556             "name": "John Doe",
557           },
558           "canChangeStatus": true,
559           "changelog": Array [],
560           "comment": Array [],
561           "component": Object {
562             "breadcrumbs": Array [],
563             "key": "my-project",
564             "name": "MyProject",
565             "qualifier": "FIL",
566             "qualityGate": Object {
567               "isDefault": true,
568               "key": "30",
569               "name": "Sonar way",
570             },
571             "qualityProfiles": Array [
572               Object {
573                 "deleted": false,
574                 "key": "my-qp",
575                 "language": "ts",
576                 "name": "Sonar way",
577               },
578             ],
579             "tags": Array [],
580           },
581           "creationDate": "2013-05-13T17:55:41+0200",
582           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
583           "line": 142,
584           "message": "'3' is a magic number.",
585           "project": Object {
586             "breadcrumbs": Array [],
587             "key": "my-project",
588             "name": "MyProject",
589             "qualifier": "TRK",
590             "qualityGate": Object {
591               "isDefault": true,
592               "key": "30",
593               "name": "Sonar way",
594             },
595             "qualityProfiles": Array [
596               Object {
597                 "deleted": false,
598                 "key": "my-qp",
599                 "language": "ts",
600                 "name": "Sonar way",
601               },
602             ],
603             "tags": Array [],
604           },
605           "resolution": "FIXED",
606           "rule": Object {
607             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
608             "key": "squid:S2077",
609             "name": "That rule",
610             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
611             "securityCategory": "sql-injection",
612             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
613             "vulnerabilityProbability": "HIGH",
614           },
615           "status": "REVIEWED",
616           "textRange": Object {
617             "endLine": 142,
618             "endOffset": 83,
619             "startLine": 142,
620             "startOffset": 26,
621           },
622           "updateDate": "2013-05-13T17:55:42+0200",
623           "users": Array [
624             Object {
625               "active": true,
626               "local": true,
627               "login": "assignee",
628               "name": "John Doe",
629             },
630             Object {
631               "active": true,
632               "local": true,
633               "login": "author",
634               "name": "John Doe",
635             },
636           ],
637         }
638       }
639       onCloseComment={[MockFunction]}
640       onCommentUpdate={[MockFunction]}
641       onOpenComment={[MockFunction]}
642     />
643   </div>
644 </DeferredSpinner>
645 `;
646
647 exports[`should render correctly: anonymous user 1`] = `
648 <DeferredSpinner
649   loading={false}
650 >
651   <div
652     className="big-padded hotspot-content"
653   >
654     <div
655       className="huge-spacer-bottom display-flex-space-between"
656     >
657       <strong
658         className="big big-spacer-right"
659       >
660         '3' is a magic number.
661       </strong>
662       <div
663         className="display-flex-row flex-0"
664       >
665         <div
666           className="dropdown spacer-right flex-1-0-auto"
667         >
668           <Button
669             onClick={[MockFunction]}
670           >
671             hotspots.comment.open
672           </Button>
673         </div>
674         <div
675           className="dropdown spacer-right flex-1-0-auto"
676         >
677           <HotspotOpenInIdeButton
678             hotspotKey="01fc972e-2a3c-433e-bcae-0bd7f88f5123"
679             projectKey="my-project"
680           />
681         </div>
682         <ClipboardButton
683           className="flex-1-0-auto"
684           copyValue="http://localhost/security_hotspots?id=my-project&branch=branch-6.7&hotspots=01fc972e-2a3c-433e-bcae-0bd7f88f5123"
685         >
686           <LinkIcon
687             className="spacer-right"
688           />
689           <span>
690             hotspots.get_permalink
691           </span>
692         </ClipboardButton>
693       </div>
694     </div>
695     <div
696       className="huge-spacer-bottom display-flex-row"
697     >
698       <div
699         className="hotspot-information display-flex-column display-flex-space-between"
700       >
701         <div
702           className="display-flex-center"
703         >
704           <span
705             className="big-spacer-right"
706           >
707             category
708           </span>
709           <strong
710             className="nowrap"
711           >
712             SQL injection
713           </strong>
714         </div>
715         <div
716           className="display-flex-center"
717         >
718           <span
719             className="big-spacer-right"
720           >
721             hotspots.risk_exposure
722           </span>
723           <div
724             className="hotspot-risk-badge HIGH"
725           >
726             risk_exposure.HIGH
727           </div>
728         </div>
729         <div
730           className="display-flex-center"
731         >
732           <span
733             className="big-spacer-right"
734           >
735             assignee
736           </span>
737           <div>
738             <Connect(withCurrentUser(Assignee))
739               hotspot={
740                 Object {
741                   "assignee": "assignee",
742                   "assigneeUser": Object {
743                     "active": true,
744                     "local": true,
745                     "login": "assignee",
746                     "name": "John Doe",
747                   },
748                   "author": "author",
749                   "authorUser": Object {
750                     "active": true,
751                     "local": true,
752                     "login": "author",
753                     "name": "John Doe",
754                   },
755                   "canChangeStatus": true,
756                   "changelog": Array [],
757                   "comment": Array [],
758                   "component": Object {
759                     "breadcrumbs": Array [],
760                     "key": "my-project",
761                     "name": "MyProject",
762                     "qualifier": "FIL",
763                     "qualityGate": Object {
764                       "isDefault": true,
765                       "key": "30",
766                       "name": "Sonar way",
767                     },
768                     "qualityProfiles": Array [
769                       Object {
770                         "deleted": false,
771                         "key": "my-qp",
772                         "language": "ts",
773                         "name": "Sonar way",
774                       },
775                     ],
776                     "tags": Array [],
777                   },
778                   "creationDate": "2013-05-13T17:55:41+0200",
779                   "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
780                   "line": 142,
781                   "message": "'3' is a magic number.",
782                   "project": Object {
783                     "breadcrumbs": Array [],
784                     "key": "my-project",
785                     "name": "MyProject",
786                     "qualifier": "TRK",
787                     "qualityGate": Object {
788                       "isDefault": true,
789                       "key": "30",
790                       "name": "Sonar way",
791                     },
792                     "qualityProfiles": Array [
793                       Object {
794                         "deleted": false,
795                         "key": "my-qp",
796                         "language": "ts",
797                         "name": "Sonar way",
798                       },
799                     ],
800                     "tags": Array [],
801                   },
802                   "resolution": "FIXED",
803                   "rule": Object {
804                     "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
805                     "key": "squid:S2077",
806                     "name": "That rule",
807                     "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
808                     "securityCategory": "sql-injection",
809                     "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
810                     "vulnerabilityProbability": "HIGH",
811                   },
812                   "status": "REVIEWED",
813                   "textRange": Object {
814                     "endLine": 142,
815                     "endOffset": 83,
816                     "startLine": 142,
817                     "startOffset": 26,
818                   },
819                   "updateDate": "2013-05-13T17:55:42+0200",
820                   "users": Array [
821                     Object {
822                       "active": true,
823                       "local": true,
824                       "login": "assignee",
825                       "name": "John Doe",
826                     },
827                     Object {
828                       "active": true,
829                       "local": true,
830                       "login": "author",
831                       "name": "John Doe",
832                     },
833                   ],
834                 }
835               }
836               onAssigneeChange={[MockFunction]}
837             />
838           </div>
839         </div>
840       </div>
841       <div
842         className="huge-spacer-left"
843       >
844         <Connect(withCurrentUser(Status))
845           hotspot={
846             Object {
847               "assignee": "assignee",
848               "assigneeUser": Object {
849                 "active": true,
850                 "local": true,
851                 "login": "assignee",
852                 "name": "John Doe",
853               },
854               "author": "author",
855               "authorUser": Object {
856                 "active": true,
857                 "local": true,
858                 "login": "author",
859                 "name": "John Doe",
860               },
861               "canChangeStatus": true,
862               "changelog": Array [],
863               "comment": Array [],
864               "component": Object {
865                 "breadcrumbs": Array [],
866                 "key": "my-project",
867                 "name": "MyProject",
868                 "qualifier": "FIL",
869                 "qualityGate": Object {
870                   "isDefault": true,
871                   "key": "30",
872                   "name": "Sonar way",
873                 },
874                 "qualityProfiles": Array [
875                   Object {
876                     "deleted": false,
877                     "key": "my-qp",
878                     "language": "ts",
879                     "name": "Sonar way",
880                   },
881                 ],
882                 "tags": Array [],
883               },
884               "creationDate": "2013-05-13T17:55:41+0200",
885               "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
886               "line": 142,
887               "message": "'3' is a magic number.",
888               "project": Object {
889                 "breadcrumbs": Array [],
890                 "key": "my-project",
891                 "name": "MyProject",
892                 "qualifier": "TRK",
893                 "qualityGate": Object {
894                   "isDefault": true,
895                   "key": "30",
896                   "name": "Sonar way",
897                 },
898                 "qualityProfiles": Array [
899                   Object {
900                     "deleted": false,
901                     "key": "my-qp",
902                     "language": "ts",
903                     "name": "Sonar way",
904                   },
905                 ],
906                 "tags": Array [],
907               },
908               "resolution": "FIXED",
909               "rule": Object {
910                 "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
911                 "key": "squid:S2077",
912                 "name": "That rule",
913                 "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
914                 "securityCategory": "sql-injection",
915                 "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
916                 "vulnerabilityProbability": "HIGH",
917               },
918               "status": "REVIEWED",
919               "textRange": Object {
920                 "endLine": 142,
921                 "endOffset": 83,
922                 "startLine": 142,
923                 "startOffset": 26,
924               },
925               "updateDate": "2013-05-13T17:55:42+0200",
926               "users": Array [
927                 Object {
928                   "active": true,
929                   "local": true,
930                   "login": "assignee",
931                   "name": "John Doe",
932                 },
933                 Object {
934                   "active": true,
935                   "local": true,
936                   "login": "author",
937                   "name": "John Doe",
938                 },
939               ],
940             }
941           }
942           onStatusChange={[MockFunction]}
943         />
944       </div>
945     </div>
946     <HotspotSnippetContainer
947       branchLike={
948         Object {
949           "analysisDate": "2018-01-01",
950           "excludedFromPurge": true,
951           "isMain": false,
952           "name": "branch-6.7",
953         }
954       }
955       component={
956         Object {
957           "breadcrumbs": Array [],
958           "key": "my-project",
959           "name": "MyProject",
960           "qualifier": "TRK",
961           "qualityGate": Object {
962             "isDefault": true,
963             "key": "30",
964             "name": "Sonar way",
965           },
966           "qualityProfiles": Array [
967             Object {
968               "deleted": false,
969               "key": "my-qp",
970               "language": "ts",
971               "name": "Sonar way",
972             },
973           ],
974           "tags": Array [],
975         }
976       }
977       hotspot={
978         Object {
979           "assignee": "assignee",
980           "assigneeUser": Object {
981             "active": true,
982             "local": true,
983             "login": "assignee",
984             "name": "John Doe",
985           },
986           "author": "author",
987           "authorUser": Object {
988             "active": true,
989             "local": true,
990             "login": "author",
991             "name": "John Doe",
992           },
993           "canChangeStatus": true,
994           "changelog": Array [],
995           "comment": Array [],
996           "component": Object {
997             "breadcrumbs": Array [],
998             "key": "my-project",
999             "name": "MyProject",
1000             "qualifier": "FIL",
1001             "qualityGate": Object {
1002               "isDefault": true,
1003               "key": "30",
1004               "name": "Sonar way",
1005             },
1006             "qualityProfiles": Array [
1007               Object {
1008                 "deleted": false,
1009                 "key": "my-qp",
1010                 "language": "ts",
1011                 "name": "Sonar way",
1012               },
1013             ],
1014             "tags": Array [],
1015           },
1016           "creationDate": "2013-05-13T17:55:41+0200",
1017           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1018           "line": 142,
1019           "message": "'3' is a magic number.",
1020           "project": Object {
1021             "breadcrumbs": Array [],
1022             "key": "my-project",
1023             "name": "MyProject",
1024             "qualifier": "TRK",
1025             "qualityGate": Object {
1026               "isDefault": true,
1027               "key": "30",
1028               "name": "Sonar way",
1029             },
1030             "qualityProfiles": Array [
1031               Object {
1032                 "deleted": false,
1033                 "key": "my-qp",
1034                 "language": "ts",
1035                 "name": "Sonar way",
1036               },
1037             ],
1038             "tags": Array [],
1039           },
1040           "resolution": "FIXED",
1041           "rule": Object {
1042             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1043             "key": "squid:S2077",
1044             "name": "That rule",
1045             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1046             "securityCategory": "sql-injection",
1047             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1048             "vulnerabilityProbability": "HIGH",
1049           },
1050           "status": "REVIEWED",
1051           "textRange": Object {
1052             "endLine": 142,
1053             "endOffset": 83,
1054             "startLine": 142,
1055             "startOffset": 26,
1056           },
1057           "updateDate": "2013-05-13T17:55:42+0200",
1058           "users": Array [
1059             Object {
1060               "active": true,
1061               "local": true,
1062               "login": "assignee",
1063               "name": "John Doe",
1064             },
1065             Object {
1066               "active": true,
1067               "local": true,
1068               "login": "author",
1069               "name": "John Doe",
1070             },
1071           ],
1072         }
1073       }
1074     />
1075     <HotspotViewerTabs
1076       hotspot={
1077         Object {
1078           "assignee": "assignee",
1079           "assigneeUser": Object {
1080             "active": true,
1081             "local": true,
1082             "login": "assignee",
1083             "name": "John Doe",
1084           },
1085           "author": "author",
1086           "authorUser": Object {
1087             "active": true,
1088             "local": true,
1089             "login": "author",
1090             "name": "John Doe",
1091           },
1092           "canChangeStatus": true,
1093           "changelog": Array [],
1094           "comment": Array [],
1095           "component": Object {
1096             "breadcrumbs": Array [],
1097             "key": "my-project",
1098             "name": "MyProject",
1099             "qualifier": "FIL",
1100             "qualityGate": Object {
1101               "isDefault": true,
1102               "key": "30",
1103               "name": "Sonar way",
1104             },
1105             "qualityProfiles": Array [
1106               Object {
1107                 "deleted": false,
1108                 "key": "my-qp",
1109                 "language": "ts",
1110                 "name": "Sonar way",
1111               },
1112             ],
1113             "tags": Array [],
1114           },
1115           "creationDate": "2013-05-13T17:55:41+0200",
1116           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1117           "line": 142,
1118           "message": "'3' is a magic number.",
1119           "project": Object {
1120             "breadcrumbs": Array [],
1121             "key": "my-project",
1122             "name": "MyProject",
1123             "qualifier": "TRK",
1124             "qualityGate": Object {
1125               "isDefault": true,
1126               "key": "30",
1127               "name": "Sonar way",
1128             },
1129             "qualityProfiles": Array [
1130               Object {
1131                 "deleted": false,
1132                 "key": "my-qp",
1133                 "language": "ts",
1134                 "name": "Sonar way",
1135               },
1136             ],
1137             "tags": Array [],
1138           },
1139           "resolution": "FIXED",
1140           "rule": Object {
1141             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1142             "key": "squid:S2077",
1143             "name": "That rule",
1144             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1145             "securityCategory": "sql-injection",
1146             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1147             "vulnerabilityProbability": "HIGH",
1148           },
1149           "status": "REVIEWED",
1150           "textRange": Object {
1151             "endLine": 142,
1152             "endOffset": 83,
1153             "startLine": 142,
1154             "startOffset": 26,
1155           },
1156           "updateDate": "2013-05-13T17:55:42+0200",
1157           "users": Array [
1158             Object {
1159               "active": true,
1160               "local": true,
1161               "login": "assignee",
1162               "name": "John Doe",
1163             },
1164             Object {
1165               "active": true,
1166               "local": true,
1167               "login": "author",
1168               "name": "John Doe",
1169             },
1170           ],
1171         }
1172       }
1173     />
1174     <HotspotReviewHistoryAndComments
1175       commentTextRef={
1176         Object {
1177           "current": null,
1178         }
1179       }
1180       commentVisible={false}
1181       currentUser={
1182         Object {
1183           "isLoggedIn": false,
1184         }
1185       }
1186       hotspot={
1187         Object {
1188           "assignee": "assignee",
1189           "assigneeUser": Object {
1190             "active": true,
1191             "local": true,
1192             "login": "assignee",
1193             "name": "John Doe",
1194           },
1195           "author": "author",
1196           "authorUser": Object {
1197             "active": true,
1198             "local": true,
1199             "login": "author",
1200             "name": "John Doe",
1201           },
1202           "canChangeStatus": true,
1203           "changelog": Array [],
1204           "comment": Array [],
1205           "component": Object {
1206             "breadcrumbs": Array [],
1207             "key": "my-project",
1208             "name": "MyProject",
1209             "qualifier": "FIL",
1210             "qualityGate": Object {
1211               "isDefault": true,
1212               "key": "30",
1213               "name": "Sonar way",
1214             },
1215             "qualityProfiles": Array [
1216               Object {
1217                 "deleted": false,
1218                 "key": "my-qp",
1219                 "language": "ts",
1220                 "name": "Sonar way",
1221               },
1222             ],
1223             "tags": Array [],
1224           },
1225           "creationDate": "2013-05-13T17:55:41+0200",
1226           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1227           "line": 142,
1228           "message": "'3' is a magic number.",
1229           "project": Object {
1230             "breadcrumbs": Array [],
1231             "key": "my-project",
1232             "name": "MyProject",
1233             "qualifier": "TRK",
1234             "qualityGate": Object {
1235               "isDefault": true,
1236               "key": "30",
1237               "name": "Sonar way",
1238             },
1239             "qualityProfiles": Array [
1240               Object {
1241                 "deleted": false,
1242                 "key": "my-qp",
1243                 "language": "ts",
1244                 "name": "Sonar way",
1245               },
1246             ],
1247             "tags": Array [],
1248           },
1249           "resolution": "FIXED",
1250           "rule": Object {
1251             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1252             "key": "squid:S2077",
1253             "name": "That rule",
1254             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1255             "securityCategory": "sql-injection",
1256             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1257             "vulnerabilityProbability": "HIGH",
1258           },
1259           "status": "REVIEWED",
1260           "textRange": Object {
1261             "endLine": 142,
1262             "endOffset": 83,
1263             "startLine": 142,
1264             "startOffset": 26,
1265           },
1266           "updateDate": "2013-05-13T17:55:42+0200",
1267           "users": Array [
1268             Object {
1269               "active": true,
1270               "local": true,
1271               "login": "assignee",
1272               "name": "John Doe",
1273             },
1274             Object {
1275               "active": true,
1276               "local": true,
1277               "login": "author",
1278               "name": "John Doe",
1279             },
1280           ],
1281         }
1282       }
1283       onCloseComment={[MockFunction]}
1284       onCommentUpdate={[MockFunction]}
1285       onOpenComment={[MockFunction]}
1286     />
1287   </div>
1288 </DeferredSpinner>
1289 `;
1290
1291 exports[`should render correctly: assignee without name 1`] = `
1292 <DeferredSpinner
1293   loading={false}
1294 >
1295   <div
1296     className="big-padded hotspot-content"
1297   >
1298     <div
1299       className="huge-spacer-bottom display-flex-space-between"
1300     >
1301       <strong
1302         className="big big-spacer-right"
1303       >
1304         '3' is a magic number.
1305       </strong>
1306       <div
1307         className="display-flex-row flex-0"
1308       >
1309         <div
1310           className="dropdown spacer-right flex-1-0-auto"
1311         >
1312           <Button
1313             onClick={[MockFunction]}
1314           >
1315             hotspots.comment.open
1316           </Button>
1317         </div>
1318         <div
1319           className="dropdown spacer-right flex-1-0-auto"
1320         >
1321           <HotspotOpenInIdeButton
1322             hotspotKey="01fc972e-2a3c-433e-bcae-0bd7f88f5123"
1323             projectKey="my-project"
1324           />
1325         </div>
1326         <ClipboardButton
1327           className="flex-1-0-auto"
1328           copyValue="http://localhost/security_hotspots?id=my-project&branch=branch-6.7&hotspots=01fc972e-2a3c-433e-bcae-0bd7f88f5123"
1329         >
1330           <LinkIcon
1331             className="spacer-right"
1332           />
1333           <span>
1334             hotspots.get_permalink
1335           </span>
1336         </ClipboardButton>
1337       </div>
1338     </div>
1339     <div
1340       className="huge-spacer-bottom display-flex-row"
1341     >
1342       <div
1343         className="hotspot-information display-flex-column display-flex-space-between"
1344       >
1345         <div
1346           className="display-flex-center"
1347         >
1348           <span
1349             className="big-spacer-right"
1350           >
1351             category
1352           </span>
1353           <strong
1354             className="nowrap"
1355           >
1356             SQL injection
1357           </strong>
1358         </div>
1359         <div
1360           className="display-flex-center"
1361         >
1362           <span
1363             className="big-spacer-right"
1364           >
1365             hotspots.risk_exposure
1366           </span>
1367           <div
1368             className="hotspot-risk-badge HIGH"
1369           >
1370             risk_exposure.HIGH
1371           </div>
1372         </div>
1373         <div
1374           className="display-flex-center"
1375         >
1376           <span
1377             className="big-spacer-right"
1378           >
1379             assignee
1380           </span>
1381           <div>
1382             <Connect(withCurrentUser(Assignee))
1383               hotspot={
1384                 Object {
1385                   "assignee": "assignee",
1386                   "assigneeUser": Object {
1387                     "active": true,
1388                     "local": true,
1389                     "login": "assignee_login",
1390                     "name": undefined,
1391                   },
1392                   "author": "author",
1393                   "authorUser": Object {
1394                     "active": true,
1395                     "local": true,
1396                     "login": "author",
1397                     "name": "John Doe",
1398                   },
1399                   "canChangeStatus": true,
1400                   "changelog": Array [],
1401                   "comment": Array [],
1402                   "component": Object {
1403                     "breadcrumbs": Array [],
1404                     "key": "my-project",
1405                     "name": "MyProject",
1406                     "qualifier": "FIL",
1407                     "qualityGate": Object {
1408                       "isDefault": true,
1409                       "key": "30",
1410                       "name": "Sonar way",
1411                     },
1412                     "qualityProfiles": Array [
1413                       Object {
1414                         "deleted": false,
1415                         "key": "my-qp",
1416                         "language": "ts",
1417                         "name": "Sonar way",
1418                       },
1419                     ],
1420                     "tags": Array [],
1421                   },
1422                   "creationDate": "2013-05-13T17:55:41+0200",
1423                   "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1424                   "line": 142,
1425                   "message": "'3' is a magic number.",
1426                   "project": Object {
1427                     "breadcrumbs": Array [],
1428                     "key": "my-project",
1429                     "name": "MyProject",
1430                     "qualifier": "TRK",
1431                     "qualityGate": Object {
1432                       "isDefault": true,
1433                       "key": "30",
1434                       "name": "Sonar way",
1435                     },
1436                     "qualityProfiles": Array [
1437                       Object {
1438                         "deleted": false,
1439                         "key": "my-qp",
1440                         "language": "ts",
1441                         "name": "Sonar way",
1442                       },
1443                     ],
1444                     "tags": Array [],
1445                   },
1446                   "resolution": "FIXED",
1447                   "rule": Object {
1448                     "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1449                     "key": "squid:S2077",
1450                     "name": "That rule",
1451                     "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1452                     "securityCategory": "sql-injection",
1453                     "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1454                     "vulnerabilityProbability": "HIGH",
1455                   },
1456                   "status": "REVIEWED",
1457                   "textRange": Object {
1458                     "endLine": 142,
1459                     "endOffset": 83,
1460                     "startLine": 142,
1461                     "startOffset": 26,
1462                   },
1463                   "updateDate": "2013-05-13T17:55:42+0200",
1464                   "users": Array [
1465                     Object {
1466                       "active": true,
1467                       "local": true,
1468                       "login": "assignee",
1469                       "name": "John Doe",
1470                     },
1471                     Object {
1472                       "active": true,
1473                       "local": true,
1474                       "login": "author",
1475                       "name": "John Doe",
1476                     },
1477                   ],
1478                 }
1479               }
1480               onAssigneeChange={[MockFunction]}
1481             />
1482           </div>
1483         </div>
1484       </div>
1485       <div
1486         className="huge-spacer-left"
1487       >
1488         <Connect(withCurrentUser(Status))
1489           hotspot={
1490             Object {
1491               "assignee": "assignee",
1492               "assigneeUser": Object {
1493                 "active": true,
1494                 "local": true,
1495                 "login": "assignee_login",
1496                 "name": undefined,
1497               },
1498               "author": "author",
1499               "authorUser": Object {
1500                 "active": true,
1501                 "local": true,
1502                 "login": "author",
1503                 "name": "John Doe",
1504               },
1505               "canChangeStatus": true,
1506               "changelog": Array [],
1507               "comment": Array [],
1508               "component": Object {
1509                 "breadcrumbs": Array [],
1510                 "key": "my-project",
1511                 "name": "MyProject",
1512                 "qualifier": "FIL",
1513                 "qualityGate": Object {
1514                   "isDefault": true,
1515                   "key": "30",
1516                   "name": "Sonar way",
1517                 },
1518                 "qualityProfiles": Array [
1519                   Object {
1520                     "deleted": false,
1521                     "key": "my-qp",
1522                     "language": "ts",
1523                     "name": "Sonar way",
1524                   },
1525                 ],
1526                 "tags": Array [],
1527               },
1528               "creationDate": "2013-05-13T17:55:41+0200",
1529               "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1530               "line": 142,
1531               "message": "'3' is a magic number.",
1532               "project": Object {
1533                 "breadcrumbs": Array [],
1534                 "key": "my-project",
1535                 "name": "MyProject",
1536                 "qualifier": "TRK",
1537                 "qualityGate": Object {
1538                   "isDefault": true,
1539                   "key": "30",
1540                   "name": "Sonar way",
1541                 },
1542                 "qualityProfiles": Array [
1543                   Object {
1544                     "deleted": false,
1545                     "key": "my-qp",
1546                     "language": "ts",
1547                     "name": "Sonar way",
1548                   },
1549                 ],
1550                 "tags": Array [],
1551               },
1552               "resolution": "FIXED",
1553               "rule": Object {
1554                 "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1555                 "key": "squid:S2077",
1556                 "name": "That rule",
1557                 "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1558                 "securityCategory": "sql-injection",
1559                 "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1560                 "vulnerabilityProbability": "HIGH",
1561               },
1562               "status": "REVIEWED",
1563               "textRange": Object {
1564                 "endLine": 142,
1565                 "endOffset": 83,
1566                 "startLine": 142,
1567                 "startOffset": 26,
1568               },
1569               "updateDate": "2013-05-13T17:55:42+0200",
1570               "users": Array [
1571                 Object {
1572                   "active": true,
1573                   "local": true,
1574                   "login": "assignee",
1575                   "name": "John Doe",
1576                 },
1577                 Object {
1578                   "active": true,
1579                   "local": true,
1580                   "login": "author",
1581                   "name": "John Doe",
1582                 },
1583               ],
1584             }
1585           }
1586           onStatusChange={[MockFunction]}
1587         />
1588       </div>
1589     </div>
1590     <HotspotSnippetContainer
1591       branchLike={
1592         Object {
1593           "analysisDate": "2018-01-01",
1594           "excludedFromPurge": true,
1595           "isMain": false,
1596           "name": "branch-6.7",
1597         }
1598       }
1599       component={
1600         Object {
1601           "breadcrumbs": Array [],
1602           "key": "my-project",
1603           "name": "MyProject",
1604           "qualifier": "TRK",
1605           "qualityGate": Object {
1606             "isDefault": true,
1607             "key": "30",
1608             "name": "Sonar way",
1609           },
1610           "qualityProfiles": Array [
1611             Object {
1612               "deleted": false,
1613               "key": "my-qp",
1614               "language": "ts",
1615               "name": "Sonar way",
1616             },
1617           ],
1618           "tags": Array [],
1619         }
1620       }
1621       hotspot={
1622         Object {
1623           "assignee": "assignee",
1624           "assigneeUser": Object {
1625             "active": true,
1626             "local": true,
1627             "login": "assignee_login",
1628             "name": undefined,
1629           },
1630           "author": "author",
1631           "authorUser": Object {
1632             "active": true,
1633             "local": true,
1634             "login": "author",
1635             "name": "John Doe",
1636           },
1637           "canChangeStatus": true,
1638           "changelog": Array [],
1639           "comment": Array [],
1640           "component": Object {
1641             "breadcrumbs": Array [],
1642             "key": "my-project",
1643             "name": "MyProject",
1644             "qualifier": "FIL",
1645             "qualityGate": Object {
1646               "isDefault": true,
1647               "key": "30",
1648               "name": "Sonar way",
1649             },
1650             "qualityProfiles": Array [
1651               Object {
1652                 "deleted": false,
1653                 "key": "my-qp",
1654                 "language": "ts",
1655                 "name": "Sonar way",
1656               },
1657             ],
1658             "tags": Array [],
1659           },
1660           "creationDate": "2013-05-13T17:55:41+0200",
1661           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1662           "line": 142,
1663           "message": "'3' is a magic number.",
1664           "project": Object {
1665             "breadcrumbs": Array [],
1666             "key": "my-project",
1667             "name": "MyProject",
1668             "qualifier": "TRK",
1669             "qualityGate": Object {
1670               "isDefault": true,
1671               "key": "30",
1672               "name": "Sonar way",
1673             },
1674             "qualityProfiles": Array [
1675               Object {
1676                 "deleted": false,
1677                 "key": "my-qp",
1678                 "language": "ts",
1679                 "name": "Sonar way",
1680               },
1681             ],
1682             "tags": Array [],
1683           },
1684           "resolution": "FIXED",
1685           "rule": Object {
1686             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1687             "key": "squid:S2077",
1688             "name": "That rule",
1689             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1690             "securityCategory": "sql-injection",
1691             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1692             "vulnerabilityProbability": "HIGH",
1693           },
1694           "status": "REVIEWED",
1695           "textRange": Object {
1696             "endLine": 142,
1697             "endOffset": 83,
1698             "startLine": 142,
1699             "startOffset": 26,
1700           },
1701           "updateDate": "2013-05-13T17:55:42+0200",
1702           "users": Array [
1703             Object {
1704               "active": true,
1705               "local": true,
1706               "login": "assignee",
1707               "name": "John Doe",
1708             },
1709             Object {
1710               "active": true,
1711               "local": true,
1712               "login": "author",
1713               "name": "John Doe",
1714             },
1715           ],
1716         }
1717       }
1718     />
1719     <HotspotViewerTabs
1720       hotspot={
1721         Object {
1722           "assignee": "assignee",
1723           "assigneeUser": Object {
1724             "active": true,
1725             "local": true,
1726             "login": "assignee_login",
1727             "name": undefined,
1728           },
1729           "author": "author",
1730           "authorUser": Object {
1731             "active": true,
1732             "local": true,
1733             "login": "author",
1734             "name": "John Doe",
1735           },
1736           "canChangeStatus": true,
1737           "changelog": Array [],
1738           "comment": Array [],
1739           "component": Object {
1740             "breadcrumbs": Array [],
1741             "key": "my-project",
1742             "name": "MyProject",
1743             "qualifier": "FIL",
1744             "qualityGate": Object {
1745               "isDefault": true,
1746               "key": "30",
1747               "name": "Sonar way",
1748             },
1749             "qualityProfiles": Array [
1750               Object {
1751                 "deleted": false,
1752                 "key": "my-qp",
1753                 "language": "ts",
1754                 "name": "Sonar way",
1755               },
1756             ],
1757             "tags": Array [],
1758           },
1759           "creationDate": "2013-05-13T17:55:41+0200",
1760           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1761           "line": 142,
1762           "message": "'3' is a magic number.",
1763           "project": Object {
1764             "breadcrumbs": Array [],
1765             "key": "my-project",
1766             "name": "MyProject",
1767             "qualifier": "TRK",
1768             "qualityGate": Object {
1769               "isDefault": true,
1770               "key": "30",
1771               "name": "Sonar way",
1772             },
1773             "qualityProfiles": Array [
1774               Object {
1775                 "deleted": false,
1776                 "key": "my-qp",
1777                 "language": "ts",
1778                 "name": "Sonar way",
1779               },
1780             ],
1781             "tags": Array [],
1782           },
1783           "resolution": "FIXED",
1784           "rule": Object {
1785             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1786             "key": "squid:S2077",
1787             "name": "That rule",
1788             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1789             "securityCategory": "sql-injection",
1790             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1791             "vulnerabilityProbability": "HIGH",
1792           },
1793           "status": "REVIEWED",
1794           "textRange": Object {
1795             "endLine": 142,
1796             "endOffset": 83,
1797             "startLine": 142,
1798             "startOffset": 26,
1799           },
1800           "updateDate": "2013-05-13T17:55:42+0200",
1801           "users": Array [
1802             Object {
1803               "active": true,
1804               "local": true,
1805               "login": "assignee",
1806               "name": "John Doe",
1807             },
1808             Object {
1809               "active": true,
1810               "local": true,
1811               "login": "author",
1812               "name": "John Doe",
1813             },
1814           ],
1815         }
1816       }
1817     />
1818     <HotspotReviewHistoryAndComments
1819       commentTextRef={
1820         Object {
1821           "current": null,
1822         }
1823       }
1824       commentVisible={false}
1825       currentUser={
1826         Object {
1827           "isLoggedIn": false,
1828         }
1829       }
1830       hotspot={
1831         Object {
1832           "assignee": "assignee",
1833           "assigneeUser": Object {
1834             "active": true,
1835             "local": true,
1836             "login": "assignee_login",
1837             "name": undefined,
1838           },
1839           "author": "author",
1840           "authorUser": Object {
1841             "active": true,
1842             "local": true,
1843             "login": "author",
1844             "name": "John Doe",
1845           },
1846           "canChangeStatus": true,
1847           "changelog": Array [],
1848           "comment": Array [],
1849           "component": Object {
1850             "breadcrumbs": Array [],
1851             "key": "my-project",
1852             "name": "MyProject",
1853             "qualifier": "FIL",
1854             "qualityGate": Object {
1855               "isDefault": true,
1856               "key": "30",
1857               "name": "Sonar way",
1858             },
1859             "qualityProfiles": Array [
1860               Object {
1861                 "deleted": false,
1862                 "key": "my-qp",
1863                 "language": "ts",
1864                 "name": "Sonar way",
1865               },
1866             ],
1867             "tags": Array [],
1868           },
1869           "creationDate": "2013-05-13T17:55:41+0200",
1870           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
1871           "line": 142,
1872           "message": "'3' is a magic number.",
1873           "project": Object {
1874             "breadcrumbs": Array [],
1875             "key": "my-project",
1876             "name": "MyProject",
1877             "qualifier": "TRK",
1878             "qualityGate": Object {
1879               "isDefault": true,
1880               "key": "30",
1881               "name": "Sonar way",
1882             },
1883             "qualityProfiles": Array [
1884               Object {
1885                 "deleted": false,
1886                 "key": "my-qp",
1887                 "language": "ts",
1888                 "name": "Sonar way",
1889               },
1890             ],
1891             "tags": Array [],
1892           },
1893           "resolution": "FIXED",
1894           "rule": Object {
1895             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
1896             "key": "squid:S2077",
1897             "name": "That rule",
1898             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
1899             "securityCategory": "sql-injection",
1900             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
1901             "vulnerabilityProbability": "HIGH",
1902           },
1903           "status": "REVIEWED",
1904           "textRange": Object {
1905             "endLine": 142,
1906             "endOffset": 83,
1907             "startLine": 142,
1908             "startOffset": 26,
1909           },
1910           "updateDate": "2013-05-13T17:55:42+0200",
1911           "users": Array [
1912             Object {
1913               "active": true,
1914               "local": true,
1915               "login": "assignee",
1916               "name": "John Doe",
1917             },
1918             Object {
1919               "active": true,
1920               "local": true,
1921               "login": "author",
1922               "name": "John Doe",
1923             },
1924           ],
1925         }
1926       }
1927       onCloseComment={[MockFunction]}
1928       onCommentUpdate={[MockFunction]}
1929       onOpenComment={[MockFunction]}
1930     />
1931   </div>
1932 </DeferredSpinner>
1933 `;
1934
1935 exports[`should render correctly: deleted assignee 1`] = `
1936 <DeferredSpinner
1937   loading={false}
1938 >
1939   <div
1940     className="big-padded hotspot-content"
1941   >
1942     <div
1943       className="huge-spacer-bottom display-flex-space-between"
1944     >
1945       <strong
1946         className="big big-spacer-right"
1947       >
1948         '3' is a magic number.
1949       </strong>
1950       <div
1951         className="display-flex-row flex-0"
1952       >
1953         <div
1954           className="dropdown spacer-right flex-1-0-auto"
1955         >
1956           <Button
1957             onClick={[MockFunction]}
1958           >
1959             hotspots.comment.open
1960           </Button>
1961         </div>
1962         <div
1963           className="dropdown spacer-right flex-1-0-auto"
1964         >
1965           <HotspotOpenInIdeButton
1966             hotspotKey="01fc972e-2a3c-433e-bcae-0bd7f88f5123"
1967             projectKey="my-project"
1968           />
1969         </div>
1970         <ClipboardButton
1971           className="flex-1-0-auto"
1972           copyValue="http://localhost/security_hotspots?id=my-project&branch=branch-6.7&hotspots=01fc972e-2a3c-433e-bcae-0bd7f88f5123"
1973         >
1974           <LinkIcon
1975             className="spacer-right"
1976           />
1977           <span>
1978             hotspots.get_permalink
1979           </span>
1980         </ClipboardButton>
1981       </div>
1982     </div>
1983     <div
1984       className="huge-spacer-bottom display-flex-row"
1985     >
1986       <div
1987         className="hotspot-information display-flex-column display-flex-space-between"
1988       >
1989         <div
1990           className="display-flex-center"
1991         >
1992           <span
1993             className="big-spacer-right"
1994           >
1995             category
1996           </span>
1997           <strong
1998             className="nowrap"
1999           >
2000             SQL injection
2001           </strong>
2002         </div>
2003         <div
2004           className="display-flex-center"
2005         >
2006           <span
2007             className="big-spacer-right"
2008           >
2009             hotspots.risk_exposure
2010           </span>
2011           <div
2012             className="hotspot-risk-badge HIGH"
2013           >
2014             risk_exposure.HIGH
2015           </div>
2016         </div>
2017         <div
2018           className="display-flex-center"
2019         >
2020           <span
2021             className="big-spacer-right"
2022           >
2023             assignee
2024           </span>
2025           <div>
2026             <Connect(withCurrentUser(Assignee))
2027               hotspot={
2028                 Object {
2029                   "assignee": "assignee",
2030                   "assigneeUser": Object {
2031                     "active": false,
2032                     "local": true,
2033                     "login": "john.doe",
2034                     "name": "John Doe",
2035                   },
2036                   "author": "author",
2037                   "authorUser": Object {
2038                     "active": true,
2039                     "local": true,
2040                     "login": "author",
2041                     "name": "John Doe",
2042                   },
2043                   "canChangeStatus": true,
2044                   "changelog": Array [],
2045                   "comment": Array [],
2046                   "component": Object {
2047                     "breadcrumbs": Array [],
2048                     "key": "my-project",
2049                     "name": "MyProject",
2050                     "qualifier": "FIL",
2051                     "qualityGate": Object {
2052                       "isDefault": true,
2053                       "key": "30",
2054                       "name": "Sonar way",
2055                     },
2056                     "qualityProfiles": Array [
2057                       Object {
2058                         "deleted": false,
2059                         "key": "my-qp",
2060                         "language": "ts",
2061                         "name": "Sonar way",
2062                       },
2063                     ],
2064                     "tags": Array [],
2065                   },
2066                   "creationDate": "2013-05-13T17:55:41+0200",
2067                   "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2068                   "line": 142,
2069                   "message": "'3' is a magic number.",
2070                   "project": Object {
2071                     "breadcrumbs": Array [],
2072                     "key": "my-project",
2073                     "name": "MyProject",
2074                     "qualifier": "TRK",
2075                     "qualityGate": Object {
2076                       "isDefault": true,
2077                       "key": "30",
2078                       "name": "Sonar way",
2079                     },
2080                     "qualityProfiles": Array [
2081                       Object {
2082                         "deleted": false,
2083                         "key": "my-qp",
2084                         "language": "ts",
2085                         "name": "Sonar way",
2086                       },
2087                     ],
2088                     "tags": Array [],
2089                   },
2090                   "resolution": "FIXED",
2091                   "rule": Object {
2092                     "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2093                     "key": "squid:S2077",
2094                     "name": "That rule",
2095                     "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2096                     "securityCategory": "sql-injection",
2097                     "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2098                     "vulnerabilityProbability": "HIGH",
2099                   },
2100                   "status": "REVIEWED",
2101                   "textRange": Object {
2102                     "endLine": 142,
2103                     "endOffset": 83,
2104                     "startLine": 142,
2105                     "startOffset": 26,
2106                   },
2107                   "updateDate": "2013-05-13T17:55:42+0200",
2108                   "users": Array [
2109                     Object {
2110                       "active": true,
2111                       "local": true,
2112                       "login": "assignee",
2113                       "name": "John Doe",
2114                     },
2115                     Object {
2116                       "active": true,
2117                       "local": true,
2118                       "login": "author",
2119                       "name": "John Doe",
2120                     },
2121                   ],
2122                 }
2123               }
2124               onAssigneeChange={[MockFunction]}
2125             />
2126           </div>
2127         </div>
2128       </div>
2129       <div
2130         className="huge-spacer-left"
2131       >
2132         <Connect(withCurrentUser(Status))
2133           hotspot={
2134             Object {
2135               "assignee": "assignee",
2136               "assigneeUser": Object {
2137                 "active": false,
2138                 "local": true,
2139                 "login": "john.doe",
2140                 "name": "John Doe",
2141               },
2142               "author": "author",
2143               "authorUser": Object {
2144                 "active": true,
2145                 "local": true,
2146                 "login": "author",
2147                 "name": "John Doe",
2148               },
2149               "canChangeStatus": true,
2150               "changelog": Array [],
2151               "comment": Array [],
2152               "component": Object {
2153                 "breadcrumbs": Array [],
2154                 "key": "my-project",
2155                 "name": "MyProject",
2156                 "qualifier": "FIL",
2157                 "qualityGate": Object {
2158                   "isDefault": true,
2159                   "key": "30",
2160                   "name": "Sonar way",
2161                 },
2162                 "qualityProfiles": Array [
2163                   Object {
2164                     "deleted": false,
2165                     "key": "my-qp",
2166                     "language": "ts",
2167                     "name": "Sonar way",
2168                   },
2169                 ],
2170                 "tags": Array [],
2171               },
2172               "creationDate": "2013-05-13T17:55:41+0200",
2173               "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2174               "line": 142,
2175               "message": "'3' is a magic number.",
2176               "project": Object {
2177                 "breadcrumbs": Array [],
2178                 "key": "my-project",
2179                 "name": "MyProject",
2180                 "qualifier": "TRK",
2181                 "qualityGate": Object {
2182                   "isDefault": true,
2183                   "key": "30",
2184                   "name": "Sonar way",
2185                 },
2186                 "qualityProfiles": Array [
2187                   Object {
2188                     "deleted": false,
2189                     "key": "my-qp",
2190                     "language": "ts",
2191                     "name": "Sonar way",
2192                   },
2193                 ],
2194                 "tags": Array [],
2195               },
2196               "resolution": "FIXED",
2197               "rule": Object {
2198                 "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2199                 "key": "squid:S2077",
2200                 "name": "That rule",
2201                 "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2202                 "securityCategory": "sql-injection",
2203                 "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2204                 "vulnerabilityProbability": "HIGH",
2205               },
2206               "status": "REVIEWED",
2207               "textRange": Object {
2208                 "endLine": 142,
2209                 "endOffset": 83,
2210                 "startLine": 142,
2211                 "startOffset": 26,
2212               },
2213               "updateDate": "2013-05-13T17:55:42+0200",
2214               "users": Array [
2215                 Object {
2216                   "active": true,
2217                   "local": true,
2218                   "login": "assignee",
2219                   "name": "John Doe",
2220                 },
2221                 Object {
2222                   "active": true,
2223                   "local": true,
2224                   "login": "author",
2225                   "name": "John Doe",
2226                 },
2227               ],
2228             }
2229           }
2230           onStatusChange={[MockFunction]}
2231         />
2232       </div>
2233     </div>
2234     <HotspotSnippetContainer
2235       branchLike={
2236         Object {
2237           "analysisDate": "2018-01-01",
2238           "excludedFromPurge": true,
2239           "isMain": false,
2240           "name": "branch-6.7",
2241         }
2242       }
2243       component={
2244         Object {
2245           "breadcrumbs": Array [],
2246           "key": "my-project",
2247           "name": "MyProject",
2248           "qualifier": "TRK",
2249           "qualityGate": Object {
2250             "isDefault": true,
2251             "key": "30",
2252             "name": "Sonar way",
2253           },
2254           "qualityProfiles": Array [
2255             Object {
2256               "deleted": false,
2257               "key": "my-qp",
2258               "language": "ts",
2259               "name": "Sonar way",
2260             },
2261           ],
2262           "tags": Array [],
2263         }
2264       }
2265       hotspot={
2266         Object {
2267           "assignee": "assignee",
2268           "assigneeUser": Object {
2269             "active": false,
2270             "local": true,
2271             "login": "john.doe",
2272             "name": "John Doe",
2273           },
2274           "author": "author",
2275           "authorUser": Object {
2276             "active": true,
2277             "local": true,
2278             "login": "author",
2279             "name": "John Doe",
2280           },
2281           "canChangeStatus": true,
2282           "changelog": Array [],
2283           "comment": Array [],
2284           "component": Object {
2285             "breadcrumbs": Array [],
2286             "key": "my-project",
2287             "name": "MyProject",
2288             "qualifier": "FIL",
2289             "qualityGate": Object {
2290               "isDefault": true,
2291               "key": "30",
2292               "name": "Sonar way",
2293             },
2294             "qualityProfiles": Array [
2295               Object {
2296                 "deleted": false,
2297                 "key": "my-qp",
2298                 "language": "ts",
2299                 "name": "Sonar way",
2300               },
2301             ],
2302             "tags": Array [],
2303           },
2304           "creationDate": "2013-05-13T17:55:41+0200",
2305           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2306           "line": 142,
2307           "message": "'3' is a magic number.",
2308           "project": Object {
2309             "breadcrumbs": Array [],
2310             "key": "my-project",
2311             "name": "MyProject",
2312             "qualifier": "TRK",
2313             "qualityGate": Object {
2314               "isDefault": true,
2315               "key": "30",
2316               "name": "Sonar way",
2317             },
2318             "qualityProfiles": Array [
2319               Object {
2320                 "deleted": false,
2321                 "key": "my-qp",
2322                 "language": "ts",
2323                 "name": "Sonar way",
2324               },
2325             ],
2326             "tags": Array [],
2327           },
2328           "resolution": "FIXED",
2329           "rule": Object {
2330             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2331             "key": "squid:S2077",
2332             "name": "That rule",
2333             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2334             "securityCategory": "sql-injection",
2335             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2336             "vulnerabilityProbability": "HIGH",
2337           },
2338           "status": "REVIEWED",
2339           "textRange": Object {
2340             "endLine": 142,
2341             "endOffset": 83,
2342             "startLine": 142,
2343             "startOffset": 26,
2344           },
2345           "updateDate": "2013-05-13T17:55:42+0200",
2346           "users": Array [
2347             Object {
2348               "active": true,
2349               "local": true,
2350               "login": "assignee",
2351               "name": "John Doe",
2352             },
2353             Object {
2354               "active": true,
2355               "local": true,
2356               "login": "author",
2357               "name": "John Doe",
2358             },
2359           ],
2360         }
2361       }
2362     />
2363     <HotspotViewerTabs
2364       hotspot={
2365         Object {
2366           "assignee": "assignee",
2367           "assigneeUser": Object {
2368             "active": false,
2369             "local": true,
2370             "login": "john.doe",
2371             "name": "John Doe",
2372           },
2373           "author": "author",
2374           "authorUser": Object {
2375             "active": true,
2376             "local": true,
2377             "login": "author",
2378             "name": "John Doe",
2379           },
2380           "canChangeStatus": true,
2381           "changelog": Array [],
2382           "comment": Array [],
2383           "component": Object {
2384             "breadcrumbs": Array [],
2385             "key": "my-project",
2386             "name": "MyProject",
2387             "qualifier": "FIL",
2388             "qualityGate": Object {
2389               "isDefault": true,
2390               "key": "30",
2391               "name": "Sonar way",
2392             },
2393             "qualityProfiles": Array [
2394               Object {
2395                 "deleted": false,
2396                 "key": "my-qp",
2397                 "language": "ts",
2398                 "name": "Sonar way",
2399               },
2400             ],
2401             "tags": Array [],
2402           },
2403           "creationDate": "2013-05-13T17:55:41+0200",
2404           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2405           "line": 142,
2406           "message": "'3' is a magic number.",
2407           "project": Object {
2408             "breadcrumbs": Array [],
2409             "key": "my-project",
2410             "name": "MyProject",
2411             "qualifier": "TRK",
2412             "qualityGate": Object {
2413               "isDefault": true,
2414               "key": "30",
2415               "name": "Sonar way",
2416             },
2417             "qualityProfiles": Array [
2418               Object {
2419                 "deleted": false,
2420                 "key": "my-qp",
2421                 "language": "ts",
2422                 "name": "Sonar way",
2423               },
2424             ],
2425             "tags": Array [],
2426           },
2427           "resolution": "FIXED",
2428           "rule": Object {
2429             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2430             "key": "squid:S2077",
2431             "name": "That rule",
2432             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2433             "securityCategory": "sql-injection",
2434             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2435             "vulnerabilityProbability": "HIGH",
2436           },
2437           "status": "REVIEWED",
2438           "textRange": Object {
2439             "endLine": 142,
2440             "endOffset": 83,
2441             "startLine": 142,
2442             "startOffset": 26,
2443           },
2444           "updateDate": "2013-05-13T17:55:42+0200",
2445           "users": Array [
2446             Object {
2447               "active": true,
2448               "local": true,
2449               "login": "assignee",
2450               "name": "John Doe",
2451             },
2452             Object {
2453               "active": true,
2454               "local": true,
2455               "login": "author",
2456               "name": "John Doe",
2457             },
2458           ],
2459         }
2460       }
2461     />
2462     <HotspotReviewHistoryAndComments
2463       commentTextRef={
2464         Object {
2465           "current": null,
2466         }
2467       }
2468       commentVisible={false}
2469       currentUser={
2470         Object {
2471           "isLoggedIn": false,
2472         }
2473       }
2474       hotspot={
2475         Object {
2476           "assignee": "assignee",
2477           "assigneeUser": Object {
2478             "active": false,
2479             "local": true,
2480             "login": "john.doe",
2481             "name": "John Doe",
2482           },
2483           "author": "author",
2484           "authorUser": Object {
2485             "active": true,
2486             "local": true,
2487             "login": "author",
2488             "name": "John Doe",
2489           },
2490           "canChangeStatus": true,
2491           "changelog": Array [],
2492           "comment": Array [],
2493           "component": Object {
2494             "breadcrumbs": Array [],
2495             "key": "my-project",
2496             "name": "MyProject",
2497             "qualifier": "FIL",
2498             "qualityGate": Object {
2499               "isDefault": true,
2500               "key": "30",
2501               "name": "Sonar way",
2502             },
2503             "qualityProfiles": Array [
2504               Object {
2505                 "deleted": false,
2506                 "key": "my-qp",
2507                 "language": "ts",
2508                 "name": "Sonar way",
2509               },
2510             ],
2511             "tags": Array [],
2512           },
2513           "creationDate": "2013-05-13T17:55:41+0200",
2514           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2515           "line": 142,
2516           "message": "'3' is a magic number.",
2517           "project": Object {
2518             "breadcrumbs": Array [],
2519             "key": "my-project",
2520             "name": "MyProject",
2521             "qualifier": "TRK",
2522             "qualityGate": Object {
2523               "isDefault": true,
2524               "key": "30",
2525               "name": "Sonar way",
2526             },
2527             "qualityProfiles": Array [
2528               Object {
2529                 "deleted": false,
2530                 "key": "my-qp",
2531                 "language": "ts",
2532                 "name": "Sonar way",
2533               },
2534             ],
2535             "tags": Array [],
2536           },
2537           "resolution": "FIXED",
2538           "rule": Object {
2539             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2540             "key": "squid:S2077",
2541             "name": "That rule",
2542             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2543             "securityCategory": "sql-injection",
2544             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2545             "vulnerabilityProbability": "HIGH",
2546           },
2547           "status": "REVIEWED",
2548           "textRange": Object {
2549             "endLine": 142,
2550             "endOffset": 83,
2551             "startLine": 142,
2552             "startOffset": 26,
2553           },
2554           "updateDate": "2013-05-13T17:55:42+0200",
2555           "users": Array [
2556             Object {
2557               "active": true,
2558               "local": true,
2559               "login": "assignee",
2560               "name": "John Doe",
2561             },
2562             Object {
2563               "active": true,
2564               "local": true,
2565               "login": "author",
2566               "name": "John Doe",
2567             },
2568           ],
2569         }
2570       }
2571       onCloseComment={[MockFunction]}
2572       onCommentUpdate={[MockFunction]}
2573       onOpenComment={[MockFunction]}
2574     />
2575   </div>
2576 </DeferredSpinner>
2577 `;
2578
2579 exports[`should render correctly: no hotspot 1`] = `
2580 <DeferredSpinner
2581   loading={false}
2582 />
2583 `;
2584
2585 exports[`should render correctly: unassigned 1`] = `
2586 <DeferredSpinner
2587   loading={false}
2588 >
2589   <div
2590     className="big-padded hotspot-content"
2591   >
2592     <div
2593       className="huge-spacer-bottom display-flex-space-between"
2594     >
2595       <strong
2596         className="big big-spacer-right"
2597       >
2598         '3' is a magic number.
2599       </strong>
2600       <div
2601         className="display-flex-row flex-0"
2602       >
2603         <div
2604           className="dropdown spacer-right flex-1-0-auto"
2605         >
2606           <Button
2607             onClick={[MockFunction]}
2608           >
2609             hotspots.comment.open
2610           </Button>
2611         </div>
2612         <div
2613           className="dropdown spacer-right flex-1-0-auto"
2614         >
2615           <HotspotOpenInIdeButton
2616             hotspotKey="01fc972e-2a3c-433e-bcae-0bd7f88f5123"
2617             projectKey="my-project"
2618           />
2619         </div>
2620         <ClipboardButton
2621           className="flex-1-0-auto"
2622           copyValue="http://localhost/security_hotspots?id=my-project&branch=branch-6.7&hotspots=01fc972e-2a3c-433e-bcae-0bd7f88f5123"
2623         >
2624           <LinkIcon
2625             className="spacer-right"
2626           />
2627           <span>
2628             hotspots.get_permalink
2629           </span>
2630         </ClipboardButton>
2631       </div>
2632     </div>
2633     <div
2634       className="huge-spacer-bottom display-flex-row"
2635     >
2636       <div
2637         className="hotspot-information display-flex-column display-flex-space-between"
2638       >
2639         <div
2640           className="display-flex-center"
2641         >
2642           <span
2643             className="big-spacer-right"
2644           >
2645             category
2646           </span>
2647           <strong
2648             className="nowrap"
2649           >
2650             SQL injection
2651           </strong>
2652         </div>
2653         <div
2654           className="display-flex-center"
2655         >
2656           <span
2657             className="big-spacer-right"
2658           >
2659             hotspots.risk_exposure
2660           </span>
2661           <div
2662             className="hotspot-risk-badge HIGH"
2663           >
2664             risk_exposure.HIGH
2665           </div>
2666         </div>
2667         <div
2668           className="display-flex-center"
2669         >
2670           <span
2671             className="big-spacer-right"
2672           >
2673             assignee
2674           </span>
2675           <div>
2676             <Connect(withCurrentUser(Assignee))
2677               hotspot={
2678                 Object {
2679                   "assignee": undefined,
2680                   "assigneeUser": Object {
2681                     "active": true,
2682                     "local": true,
2683                     "login": "assignee",
2684                     "name": "John Doe",
2685                   },
2686                   "author": "author",
2687                   "authorUser": Object {
2688                     "active": true,
2689                     "local": true,
2690                     "login": "author",
2691                     "name": "John Doe",
2692                   },
2693                   "canChangeStatus": true,
2694                   "changelog": Array [],
2695                   "comment": Array [],
2696                   "component": Object {
2697                     "breadcrumbs": Array [],
2698                     "key": "my-project",
2699                     "name": "MyProject",
2700                     "qualifier": "FIL",
2701                     "qualityGate": Object {
2702                       "isDefault": true,
2703                       "key": "30",
2704                       "name": "Sonar way",
2705                     },
2706                     "qualityProfiles": Array [
2707                       Object {
2708                         "deleted": false,
2709                         "key": "my-qp",
2710                         "language": "ts",
2711                         "name": "Sonar way",
2712                       },
2713                     ],
2714                     "tags": Array [],
2715                   },
2716                   "creationDate": "2013-05-13T17:55:41+0200",
2717                   "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2718                   "line": 142,
2719                   "message": "'3' is a magic number.",
2720                   "project": Object {
2721                     "breadcrumbs": Array [],
2722                     "key": "my-project",
2723                     "name": "MyProject",
2724                     "qualifier": "TRK",
2725                     "qualityGate": Object {
2726                       "isDefault": true,
2727                       "key": "30",
2728                       "name": "Sonar way",
2729                     },
2730                     "qualityProfiles": Array [
2731                       Object {
2732                         "deleted": false,
2733                         "key": "my-qp",
2734                         "language": "ts",
2735                         "name": "Sonar way",
2736                       },
2737                     ],
2738                     "tags": Array [],
2739                   },
2740                   "resolution": "FIXED",
2741                   "rule": Object {
2742                     "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2743                     "key": "squid:S2077",
2744                     "name": "That rule",
2745                     "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2746                     "securityCategory": "sql-injection",
2747                     "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2748                     "vulnerabilityProbability": "HIGH",
2749                   },
2750                   "status": "REVIEWED",
2751                   "textRange": Object {
2752                     "endLine": 142,
2753                     "endOffset": 83,
2754                     "startLine": 142,
2755                     "startOffset": 26,
2756                   },
2757                   "updateDate": "2013-05-13T17:55:42+0200",
2758                   "users": Array [
2759                     Object {
2760                       "active": true,
2761                       "local": true,
2762                       "login": "assignee",
2763                       "name": "John Doe",
2764                     },
2765                     Object {
2766                       "active": true,
2767                       "local": true,
2768                       "login": "author",
2769                       "name": "John Doe",
2770                     },
2771                   ],
2772                 }
2773               }
2774               onAssigneeChange={[MockFunction]}
2775             />
2776           </div>
2777         </div>
2778       </div>
2779       <div
2780         className="huge-spacer-left"
2781       >
2782         <Connect(withCurrentUser(Status))
2783           hotspot={
2784             Object {
2785               "assignee": undefined,
2786               "assigneeUser": Object {
2787                 "active": true,
2788                 "local": true,
2789                 "login": "assignee",
2790                 "name": "John Doe",
2791               },
2792               "author": "author",
2793               "authorUser": Object {
2794                 "active": true,
2795                 "local": true,
2796                 "login": "author",
2797                 "name": "John Doe",
2798               },
2799               "canChangeStatus": true,
2800               "changelog": Array [],
2801               "comment": Array [],
2802               "component": Object {
2803                 "breadcrumbs": Array [],
2804                 "key": "my-project",
2805                 "name": "MyProject",
2806                 "qualifier": "FIL",
2807                 "qualityGate": Object {
2808                   "isDefault": true,
2809                   "key": "30",
2810                   "name": "Sonar way",
2811                 },
2812                 "qualityProfiles": Array [
2813                   Object {
2814                     "deleted": false,
2815                     "key": "my-qp",
2816                     "language": "ts",
2817                     "name": "Sonar way",
2818                   },
2819                 ],
2820                 "tags": Array [],
2821               },
2822               "creationDate": "2013-05-13T17:55:41+0200",
2823               "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2824               "line": 142,
2825               "message": "'3' is a magic number.",
2826               "project": Object {
2827                 "breadcrumbs": Array [],
2828                 "key": "my-project",
2829                 "name": "MyProject",
2830                 "qualifier": "TRK",
2831                 "qualityGate": Object {
2832                   "isDefault": true,
2833                   "key": "30",
2834                   "name": "Sonar way",
2835                 },
2836                 "qualityProfiles": Array [
2837                   Object {
2838                     "deleted": false,
2839                     "key": "my-qp",
2840                     "language": "ts",
2841                     "name": "Sonar way",
2842                   },
2843                 ],
2844                 "tags": Array [],
2845               },
2846               "resolution": "FIXED",
2847               "rule": Object {
2848                 "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2849                 "key": "squid:S2077",
2850                 "name": "That rule",
2851                 "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2852                 "securityCategory": "sql-injection",
2853                 "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2854                 "vulnerabilityProbability": "HIGH",
2855               },
2856               "status": "REVIEWED",
2857               "textRange": Object {
2858                 "endLine": 142,
2859                 "endOffset": 83,
2860                 "startLine": 142,
2861                 "startOffset": 26,
2862               },
2863               "updateDate": "2013-05-13T17:55:42+0200",
2864               "users": Array [
2865                 Object {
2866                   "active": true,
2867                   "local": true,
2868                   "login": "assignee",
2869                   "name": "John Doe",
2870                 },
2871                 Object {
2872                   "active": true,
2873                   "local": true,
2874                   "login": "author",
2875                   "name": "John Doe",
2876                 },
2877               ],
2878             }
2879           }
2880           onStatusChange={[MockFunction]}
2881         />
2882       </div>
2883     </div>
2884     <HotspotSnippetContainer
2885       branchLike={
2886         Object {
2887           "analysisDate": "2018-01-01",
2888           "excludedFromPurge": true,
2889           "isMain": false,
2890           "name": "branch-6.7",
2891         }
2892       }
2893       component={
2894         Object {
2895           "breadcrumbs": Array [],
2896           "key": "my-project",
2897           "name": "MyProject",
2898           "qualifier": "TRK",
2899           "qualityGate": Object {
2900             "isDefault": true,
2901             "key": "30",
2902             "name": "Sonar way",
2903           },
2904           "qualityProfiles": Array [
2905             Object {
2906               "deleted": false,
2907               "key": "my-qp",
2908               "language": "ts",
2909               "name": "Sonar way",
2910             },
2911           ],
2912           "tags": Array [],
2913         }
2914       }
2915       hotspot={
2916         Object {
2917           "assignee": undefined,
2918           "assigneeUser": Object {
2919             "active": true,
2920             "local": true,
2921             "login": "assignee",
2922             "name": "John Doe",
2923           },
2924           "author": "author",
2925           "authorUser": Object {
2926             "active": true,
2927             "local": true,
2928             "login": "author",
2929             "name": "John Doe",
2930           },
2931           "canChangeStatus": true,
2932           "changelog": Array [],
2933           "comment": Array [],
2934           "component": Object {
2935             "breadcrumbs": Array [],
2936             "key": "my-project",
2937             "name": "MyProject",
2938             "qualifier": "FIL",
2939             "qualityGate": Object {
2940               "isDefault": true,
2941               "key": "30",
2942               "name": "Sonar way",
2943             },
2944             "qualityProfiles": Array [
2945               Object {
2946                 "deleted": false,
2947                 "key": "my-qp",
2948                 "language": "ts",
2949                 "name": "Sonar way",
2950               },
2951             ],
2952             "tags": Array [],
2953           },
2954           "creationDate": "2013-05-13T17:55:41+0200",
2955           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
2956           "line": 142,
2957           "message": "'3' is a magic number.",
2958           "project": Object {
2959             "breadcrumbs": Array [],
2960             "key": "my-project",
2961             "name": "MyProject",
2962             "qualifier": "TRK",
2963             "qualityGate": Object {
2964               "isDefault": true,
2965               "key": "30",
2966               "name": "Sonar way",
2967             },
2968             "qualityProfiles": Array [
2969               Object {
2970                 "deleted": false,
2971                 "key": "my-qp",
2972                 "language": "ts",
2973                 "name": "Sonar way",
2974               },
2975             ],
2976             "tags": Array [],
2977           },
2978           "resolution": "FIXED",
2979           "rule": Object {
2980             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
2981             "key": "squid:S2077",
2982             "name": "That rule",
2983             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
2984             "securityCategory": "sql-injection",
2985             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
2986             "vulnerabilityProbability": "HIGH",
2987           },
2988           "status": "REVIEWED",
2989           "textRange": Object {
2990             "endLine": 142,
2991             "endOffset": 83,
2992             "startLine": 142,
2993             "startOffset": 26,
2994           },
2995           "updateDate": "2013-05-13T17:55:42+0200",
2996           "users": Array [
2997             Object {
2998               "active": true,
2999               "local": true,
3000               "login": "assignee",
3001               "name": "John Doe",
3002             },
3003             Object {
3004               "active": true,
3005               "local": true,
3006               "login": "author",
3007               "name": "John Doe",
3008             },
3009           ],
3010         }
3011       }
3012     />
3013     <HotspotViewerTabs
3014       hotspot={
3015         Object {
3016           "assignee": undefined,
3017           "assigneeUser": Object {
3018             "active": true,
3019             "local": true,
3020             "login": "assignee",
3021             "name": "John Doe",
3022           },
3023           "author": "author",
3024           "authorUser": Object {
3025             "active": true,
3026             "local": true,
3027             "login": "author",
3028             "name": "John Doe",
3029           },
3030           "canChangeStatus": true,
3031           "changelog": Array [],
3032           "comment": Array [],
3033           "component": Object {
3034             "breadcrumbs": Array [],
3035             "key": "my-project",
3036             "name": "MyProject",
3037             "qualifier": "FIL",
3038             "qualityGate": Object {
3039               "isDefault": true,
3040               "key": "30",
3041               "name": "Sonar way",
3042             },
3043             "qualityProfiles": Array [
3044               Object {
3045                 "deleted": false,
3046                 "key": "my-qp",
3047                 "language": "ts",
3048                 "name": "Sonar way",
3049               },
3050             ],
3051             "tags": Array [],
3052           },
3053           "creationDate": "2013-05-13T17:55:41+0200",
3054           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
3055           "line": 142,
3056           "message": "'3' is a magic number.",
3057           "project": Object {
3058             "breadcrumbs": Array [],
3059             "key": "my-project",
3060             "name": "MyProject",
3061             "qualifier": "TRK",
3062             "qualityGate": Object {
3063               "isDefault": true,
3064               "key": "30",
3065               "name": "Sonar way",
3066             },
3067             "qualityProfiles": Array [
3068               Object {
3069                 "deleted": false,
3070                 "key": "my-qp",
3071                 "language": "ts",
3072                 "name": "Sonar way",
3073               },
3074             ],
3075             "tags": Array [],
3076           },
3077           "resolution": "FIXED",
3078           "rule": Object {
3079             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
3080             "key": "squid:S2077",
3081             "name": "That rule",
3082             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
3083             "securityCategory": "sql-injection",
3084             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
3085             "vulnerabilityProbability": "HIGH",
3086           },
3087           "status": "REVIEWED",
3088           "textRange": Object {
3089             "endLine": 142,
3090             "endOffset": 83,
3091             "startLine": 142,
3092             "startOffset": 26,
3093           },
3094           "updateDate": "2013-05-13T17:55:42+0200",
3095           "users": Array [
3096             Object {
3097               "active": true,
3098               "local": true,
3099               "login": "assignee",
3100               "name": "John Doe",
3101             },
3102             Object {
3103               "active": true,
3104               "local": true,
3105               "login": "author",
3106               "name": "John Doe",
3107             },
3108           ],
3109         }
3110       }
3111     />
3112     <HotspotReviewHistoryAndComments
3113       commentTextRef={
3114         Object {
3115           "current": null,
3116         }
3117       }
3118       commentVisible={false}
3119       currentUser={
3120         Object {
3121           "isLoggedIn": false,
3122         }
3123       }
3124       hotspot={
3125         Object {
3126           "assignee": undefined,
3127           "assigneeUser": Object {
3128             "active": true,
3129             "local": true,
3130             "login": "assignee",
3131             "name": "John Doe",
3132           },
3133           "author": "author",
3134           "authorUser": Object {
3135             "active": true,
3136             "local": true,
3137             "login": "author",
3138             "name": "John Doe",
3139           },
3140           "canChangeStatus": true,
3141           "changelog": Array [],
3142           "comment": Array [],
3143           "component": Object {
3144             "breadcrumbs": Array [],
3145             "key": "my-project",
3146             "name": "MyProject",
3147             "qualifier": "FIL",
3148             "qualityGate": Object {
3149               "isDefault": true,
3150               "key": "30",
3151               "name": "Sonar way",
3152             },
3153             "qualityProfiles": Array [
3154               Object {
3155                 "deleted": false,
3156                 "key": "my-qp",
3157                 "language": "ts",
3158                 "name": "Sonar way",
3159               },
3160             ],
3161             "tags": Array [],
3162           },
3163           "creationDate": "2013-05-13T17:55:41+0200",
3164           "key": "01fc972e-2a3c-433e-bcae-0bd7f88f5123",
3165           "line": 142,
3166           "message": "'3' is a magic number.",
3167           "project": Object {
3168             "breadcrumbs": Array [],
3169             "key": "my-project",
3170             "name": "MyProject",
3171             "qualifier": "TRK",
3172             "qualityGate": Object {
3173               "isDefault": true,
3174               "key": "30",
3175               "name": "Sonar way",
3176             },
3177             "qualityProfiles": Array [
3178               Object {
3179                 "deleted": false,
3180                 "key": "my-qp",
3181                 "language": "ts",
3182                 "name": "Sonar way",
3183               },
3184             ],
3185             "tags": Array [],
3186           },
3187           "resolution": "FIXED",
3188           "rule": Object {
3189             "fixRecommendations": "<p>This a <strong>strong</strong> message about fixing !</p>",
3190             "key": "squid:S2077",
3191             "name": "That rule",
3192             "riskDescription": "<p>This a <strong>strong</strong> message about risk !</p>",
3193             "securityCategory": "sql-injection",
3194             "vulnerabilityDescription": "<p>This a <strong>strong</strong> message about vulnerability !</p>",
3195             "vulnerabilityProbability": "HIGH",
3196           },
3197           "status": "REVIEWED",
3198           "textRange": Object {
3199             "endLine": 142,
3200             "endOffset": 83,
3201             "startLine": 142,
3202             "startOffset": 26,
3203           },
3204           "updateDate": "2013-05-13T17:55:42+0200",
3205           "users": Array [
3206             Object {
3207               "active": true,
3208               "local": true,
3209               "login": "assignee",
3210               "name": "John Doe",
3211             },
3212             Object {
3213               "active": true,
3214               "local": true,
3215               "login": "author",
3216               "name": "John Doe",
3217             },
3218           ],
3219         }
3220       }
3221       onCloseComment={[MockFunction]}
3222       onCommentUpdate={[MockFunction]}
3223       onOpenComment={[MockFunction]}
3224     />
3225   </div>
3226 </DeferredSpinner>
3227 `;