Files
discordeno/packages/utils/tests/urlToBase64.spec.ts
Fleny 376b29db47 fix(utils): Fix broken urlToBase64 test (#4002)
* Rework the test for urlToBase64.

Currently urlToBase64 used the website logo however with #3990 the test
started failing as the logo changed so the base64 of it changed.

The test now mocks fetch() to return 8 empty bytes and checks for that
base64 string instead

* test: explicity import beforeeach and aftereach

* test: stub depend on runtime

* test: use try catch instead

* test: try itoh typeof

---------

Co-authored-by: H01001000 <heiheiho000@gmail.com>
2024-11-20 21:44:56 +01:00

31 lines
793 B
TypeScript

import { expect } from 'chai'
import { afterEach, beforeEach, describe, it } from 'mocha'
import sinon from 'sinon'
import { urlToBase64 } from '../src/urlToBase64.js'
describe('urlToBase64.ts', () => {
let fetchStub: sinon.SinonStub
beforeEach(() => {
fetchStub = sinon.stub(typeof global !== 'undefined' ? global : window, 'fetch')
})
afterEach(() => {
sinon.restore()
})
describe('urlToBase64 function', () => {
it('Will convert a png image to base64', async () => {
const mockArrayBuffer = new ArrayBuffer(8)
fetchStub.resolves({
arrayBuffer: () => Promise.resolve(mockArrayBuffer),
})
const url = await urlToBase64('https://example.com/image.png')
expect(url).equal('data:image/png;base64,AAAAAAAAAAA=')
})
})
})