function getRandom(min, max) {
return Math.floor(Math.random() * (max - min) + min)
import { getRandom } from './random.js'
const getRandomCard = (cards) => {
const randomCardIndex = getRandom(0, array.length)
return cards[randomCardIndex]
import * as randomGenerator from './random.js'
import { getRandomCard } from './cards.js'
test('Returns 7♥', () => {
const originalImplementation = randomGenerator.getRandom
randomGenerator.getRandom = jest.fn(() => 2)
const result = getRandomCard(['2♣', 'K♦️', '7♥', '3♠'])
expect(result).toBe('7♥')
expect(randomGenerator.getRandom).toHaveBeenCalledTimes(1)
expect(randomGenerator.getRandom).toHaveBeenCalledWith(0, 4)
// we keep the test idempotent
randomGenerator.getRandom = originalImplementation