import { getGithubUserContribution } from ".." ; describe ( "getGithubUserContribution" , ( ) => { const promise = getGithubUserContribution ( "platane" ) ; it ( "should resolve" , async ( ) => { await promise ; } ) ; it ( "should get colorScheme" , async ( ) => { const { colorScheme } = await promise ; expect ( colorScheme ) . toEqual ( [ "#ebedf0" , "#9be9a8" , "#40c463" , "#30a14e" , "#216e39" , ] ) ; } ) ; it ( "should get around 365 cells" , async ( ) => { const { cells } = await promise ; expect ( cells . length ) . toBeGreaterThanOrEqual ( 365 ) ; expect ( cells . length ) . toBeLessThanOrEqual ( 365 + 7 ) ; } ) ; it ( "cells should have x / y coords representing to a 7 x (365/7) (minus unfilled last row)" , async ( ) => { const { cells , colorScheme } = await promise ; expect ( cells . length ) . toBeGreaterThan ( 300 ) ; expect ( colorScheme ) . toEqual ( [ "#ebedf0" , "#9be9a8" , "#40c463" , "#30a14e" , "#216e39" , ] ) ; const undefinedDays = Array . from ( { length : Math . floor ( 365 / 7 ) } ) . map ( ( x ) => Array . from ( { length : 7 } ) . map ( ( y ) => ( { x , y } ) ) ) . flat ( ) . filter ( ( { x , y } ) => cells . some ( ( c ) => c . x === x && c . y === y ) ) ; expect ( undefinedDays ) . toEqual ( [ ] ) ; } ) ; } ) ; it ( "should match snapshot for year=2019" , async ( ) => { expect ( await getGithubUserContribution ( "platane" , { year : 2019 } ) ) . toMatchSnapshot ( ) ; } ) ;