Object.defineProperty(HTMLCanvasElement.prototype, 'getContext', {
value: jest.fn(() => ({
canvas: {
width: 800,
height: 600,
},
fillRect: jest.fn(),
clearRect: jest.fn(),
getImageData: jest.fn(() => ({ data: [] })),
putImageData: jest.fn(),
createImageData: jest.fn(() => []),
setTransform: jest.fn(),
drawImage: jest.fn(),
save: jest.fn(),
fillText: jest.fn(),
restore: jest.fn(),
beginPath: jest.fn(),
moveTo: jest.fn(),
lineTo: jest.fn(),
closePath: jest.fn(),
stroke: jest.fn(),
strokeRect: jest.fn(),
arc: jest.fn(),
fill: jest.fn(),
})),
});