Files
discordeno/packages/utils/tests/utils.spec.ts
2022-12-05 05:41:02 +08:00

54 lines
1.3 KiB
TypeScript

import { expect } from 'chai'
import sinon from 'sinon'
import { delay, formatImageURL, hasProperty } from '../src/utils.js'
describe('utils.ts', () => {
let clock: sinon.SinonFakeTimers
beforeEach(() => {
clock = sinon.useFakeTimers()
})
afterEach(() => {
sinon.restore()
clock.restore()
})
it('will', async () => {
let delayEnded = false
delay(31).then(() => {
delayEnded = true
})
expect(delayEnded).to.be.false
await clock.tickAsync(30)
expect(delayEnded).to.be.false
await clock.tickAsync(31)
expect(delayEnded).to.be.true
})
})
const obj = { prop: 'lts372005' }
it('[utils] hasProperty does HAVE property', () => {
expect(hasProperty(obj, 'prop')).to.be.equal(true)
})
it('[utils] hasProperty does NOT HAVE property', () => {
expect(hasProperty(obj, 'lts372005')).to.be.equal(false)
})
it('[utils] format image url', () => {
expect(formatImageURL('https://skillz.is.pro')).to.be.equal(
'https://skillz.is.pro.jpg?size=128'
)
expect(formatImageURL('https://skillz.is.pro', 1024)).to.be.equal(
'https://skillz.is.pro.jpg?size=1024'
)
expect(formatImageURL('https://skillz.is.pro', 1024, 'gif')).to.be.equal(
'https://skillz.is.pro.gif?size=1024'
)
expect(formatImageURL('https://skillz.is.pro', undefined, 'gif')).to.be.equal(
'https://skillz.is.pro.gif?size=128'
)
})