astro/packages/webapi/test/fetch.js

41 lines
833 B
JavaScript
Raw Permalink Normal View History

import { expect } from 'chai'
import { polyfill } from '../mod.js'
describe('Fetch', () => {
const target = {}
2022-03-07 21:37:50 +00:00
before(() => polyfill(target))
2022-03-07 21:37:50 +00:00
it('Fetch functionality', () => {
expect(target).to.have.property('fetch').that.is.a('function')
})
2022-03-07 21:37:50 +00:00
it('Fetch with https', async () => {
const { fetch } = target
const response = await fetch('https://astro.build')
expect(response.constructor).to.equal(target.Response)
const html = await response.text()
expect(html).to.include('<html')
})
it('Fetch with data', async () => {
const { fetch } = target
const jsonURI = `data:application/json,${encodeURIComponent(
JSON.stringify({
name: '@astrojs/webapi',
})
)}`
const response = await fetch(jsonURI)
const json = await response.json()
expect(json.name).to.equal('@astrojs/webapi')
})
})