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