@@ -33,7 +33,7 @@ describe("Test renderRepoCard", () => {
33
33
) ;
34
34
expect ( queryByTestId ( document . body , "stargazers" ) ) . toHaveTextContent ( "38k" ) ;
35
35
expect ( queryByTestId ( document . body , "forkcount" ) ) . toHaveTextContent ( "100" ) ;
36
- expect ( queryByTestId ( document . body , "lang" ) ) . toHaveTextContent (
36
+ expect ( queryByTestId ( document . body , "lang-name " ) ) . toHaveTextContent (
37
37
"TypeScript"
38
38
) ;
39
39
expect ( queryByTestId ( document . body , "lang-color" ) ) . toHaveAttribute (
@@ -82,6 +82,7 @@ describe("Test renderRepoCard", () => {
82
82
} ,
83
83
} ) ;
84
84
85
+ expect ( queryByTestId ( document . body , "primary-lang" ) ) . toBeInTheDocument ( ) ;
85
86
expect ( document . getElementsByTagName ( "g" ) [ 1 ] ) . toHaveAttribute (
86
87
"transform" ,
87
88
"translate(155, 100)"
@@ -102,6 +103,30 @@ describe("Test renderRepoCard", () => {
102
103
) ;
103
104
} ) ;
104
105
106
+ it ( "should hide language if primaryLanguage is null & fallback to correct values" , ( ) => {
107
+ document . body . innerHTML = renderRepoCard ( {
108
+ ...data_repo . repository ,
109
+ primaryLanguage : null ,
110
+ } ) ;
111
+
112
+ expect ( queryByTestId ( document . body , "primary-lang" ) ) . toBeNull ( ) ;
113
+
114
+ document . body . innerHTML = renderRepoCard ( {
115
+ ...data_repo . repository ,
116
+ primaryLanguage : { color : null , name : null } ,
117
+ } ) ;
118
+
119
+ expect ( queryByTestId ( document . body , "primary-lang" ) ) . toBeInTheDocument ( ) ;
120
+ expect ( queryByTestId ( document . body , "lang-color" ) ) . toHaveAttribute (
121
+ "fill" ,
122
+ "#333"
123
+ ) ;
124
+
125
+ expect ( queryByTestId ( document . body , "lang-name" ) ) . toHaveTextContent (
126
+ "Unspecified"
127
+ ) ;
128
+ } ) ;
129
+
105
130
it ( "should render default colors properly" , ( ) => {
106
131
document . body . innerHTML = renderRepoCard ( data_repo . repository ) ;
107
132
0 commit comments