@@ -238,20 +238,24 @@ describe("prSizeCategory", () => {
238238 expect ( prSizeCategory ( 3 , 2 ) ) . toBe ( "XS" ) ;
239239 } ) ;
240240
241- it ( "returns S for total 10-99 " , ( ) => {
242- expect ( prSizeCategory ( 50 , 30 ) ) . toBe ( "S" ) ;
241+ it ( "returns S for total 10-29 " , ( ) => {
242+ expect ( prSizeCategory ( 10 , 5 ) ) . toBe ( "S" ) ;
243243 } ) ;
244244
245- it ( "returns M for total 100-499 " , ( ) => {
246- expect ( prSizeCategory ( 200 , 100 ) ) . toBe ( "M" ) ;
245+ it ( "returns M for total 30-99 " , ( ) => {
246+ expect ( prSizeCategory ( 50 , 30 ) ) . toBe ( "M" ) ;
247247 } ) ;
248248
249- it ( "returns L for total 500-999 " , ( ) => {
250- expect ( prSizeCategory ( 600 , 200 ) ) . toBe ( "L" ) ;
249+ it ( "returns L for total 100-499 " , ( ) => {
250+ expect ( prSizeCategory ( 200 , 100 ) ) . toBe ( "L" ) ;
251251 } ) ;
252252
253- it ( "returns XL for total >= 1000" , ( ) => {
254- expect ( prSizeCategory ( 800 , 500 ) ) . toBe ( "XL" ) ;
253+ it ( "returns XL for total 500-999" , ( ) => {
254+ expect ( prSizeCategory ( 600 , 200 ) ) . toBe ( "XL" ) ;
255+ } ) ;
256+
257+ it ( "returns XXL for total >= 1000" , ( ) => {
258+ expect ( prSizeCategory ( 800 , 500 ) ) . toBe ( "XXL" ) ;
255259 } ) ;
256260
257261 it ( "returns XS for (0, 0)" , ( ) => {
@@ -266,12 +270,36 @@ describe("prSizeCategory", () => {
266270 expect ( prSizeCategory ( 5 , 5 ) ) . toBe ( "S" ) ;
267271 } ) ;
268272
269- it ( "returns L for total 999 (boundary below 1000)" , ( ) => {
270- expect ( prSizeCategory ( 500 , 499 ) ) . toBe ( "L" ) ;
273+ it ( "returns S for total 29 (boundary below 30)" , ( ) => {
274+ expect ( prSizeCategory ( 15 , 14 ) ) . toBe ( "S" ) ;
275+ } ) ;
276+
277+ it ( "returns M for total 30 (boundary at 30)" , ( ) => {
278+ expect ( prSizeCategory ( 15 , 15 ) ) . toBe ( "M" ) ;
279+ } ) ;
280+
281+ it ( "returns M for total 99 (boundary below 100)" , ( ) => {
282+ expect ( prSizeCategory ( 50 , 49 ) ) . toBe ( "M" ) ;
283+ } ) ;
284+
285+ it ( "returns L for total 100 (boundary at 100)" , ( ) => {
286+ expect ( prSizeCategory ( 50 , 50 ) ) . toBe ( "L" ) ;
287+ } ) ;
288+
289+ it ( "returns L for total 499 (boundary below 500)" , ( ) => {
290+ expect ( prSizeCategory ( 250 , 249 ) ) . toBe ( "L" ) ;
291+ } ) ;
292+
293+ it ( "returns XL for total 500 (boundary at 500)" , ( ) => {
294+ expect ( prSizeCategory ( 250 , 250 ) ) . toBe ( "XL" ) ;
295+ } ) ;
296+
297+ it ( "returns XL for total 999 (boundary below 1000)" , ( ) => {
298+ expect ( prSizeCategory ( 500 , 499 ) ) . toBe ( "XL" ) ;
271299 } ) ;
272300
273- it ( "returns XL for total 1000 (boundary at 1000)" , ( ) => {
274- expect ( prSizeCategory ( 500 , 500 ) ) . toBe ( "XL " ) ;
301+ it ( "returns XXL for total 1000 (boundary at 1000)" , ( ) => {
302+ expect ( prSizeCategory ( 500 , 500 ) ) . toBe ( "XXL " ) ;
275303 } ) ;
276304
277305 it ( "handles NaN/undefined gracefully — defaults to XS" , ( ) => {
0 commit comments