import {expect, test, it} from '@jest/globals'
import {
  isknownVersion,
  validateChecksum
} from '../../../src/download/checksum/checksum'

test('checksum should match', async () => {
  const validChecksum =
    'f3da96ec7e995debee7f5d52ecd034dfb7074309a1da42f76429ecb814d813a3'
  const filePath = '__tests__/fixtures/checksumfile'
  // string params don't matter only test the checksum mechanism, not known checksums
  await validateChecksum(
    validChecksum,
    filePath,
    'aarch64',
    'pc-windows-msvc',
    '1.2.3'
  )
})

type KnownVersionFixture = {version: string; known: boolean}

it.each<KnownVersionFixture>([
  {
    version: '0.3.0',
    known: true
  },
  {
    version: '0.0.15',
    known: false
  }
])(
  'isknownVersion should return $known for version $version',
  ({version, known}) => {
    expect(isknownVersion(version)).toBe(known)
  }
)