relysjs
Version:
Reactive Web app server focusing on MPAs with a simple server route & browser build api...uses Bunjs, Elysia, ESBuild, rmemo, & ctx-core
91 lines (90 loc) • 2.94 kB
text/typescript
import { app_ctx, ctx_, middleware_ctx__new, request_ctx__new } from 'rebuildjs/server'
import { test } from 'uvu'
import { equal, throws } from 'uvu/assert'
import {
elysia_context$_,
elysia_context_,
elysia_context__set,
type elysia_context_T,
request$_,
request_,
request_url$_,
request_url_,
store$_,
store_
} from './index.js'
test.after.each(()=>{
app_ctx.s.app.clear()
})
test('elysia_context', ()=>{
const request_ctx = request_ctx__new(middleware_ctx__new())
equal(elysia_context$_(request_ctx)(), undefined)
equal(elysia_context_(request_ctx), undefined)
const elysia_context:elysia_context_T = {
request: new Request('http://localhost:3000'),
store: { request_ctx },
}
elysia_context__set(request_ctx, elysia_context)
equal(elysia_context$_(request_ctx)(), elysia_context)
equal(elysia_context_(request_ctx), elysia_context)
// @ts-expect-error TS2345
throws(()=>elysia_context$_(ctx_())())
// @ts-expect-error TS2345
throws(()=>elysia_context_(ctx_()))
// @ts-expect-error TS2345
throws(()=>elysia_context__set(ctx_(), elysia_context))
})
test('request', ()=>{
const request_ctx = request_ctx__new(middleware_ctx__new())
equal(request$_(request_ctx)(), undefined)
equal(request_(request_ctx), undefined)
const request = new Request('http://localhost:3000')
const elysia_context:elysia_context_T = {
request,
store: { request_ctx },
}
elysia_context__set(request_ctx, elysia_context)
equal(request$_(request_ctx)(), request)
equal(request_(request_ctx), request)
// @ts-expect-error TS2345
throws(()=>request$_(ctx_())())
// @ts-expect-error TS2345
throws(()=>request_(ctx_()))
})
test('request_url', ()=>{
const request_ctx = request_ctx__new(middleware_ctx__new())
equal(request_url$_(request_ctx)(), undefined)
equal(request_url_(request_ctx), undefined)
const request = new Request('http://localhost:3000/foo/bar')
const elysia_context:elysia_context_T = {
request,
store: { request_ctx },
}
elysia_context__set(request_ctx, elysia_context)
equal(elysia_context_(request_ctx), elysia_context)
equal(request_(request_ctx), request)
equal(request_url$_(request_ctx)(), new URL('http://localhost:3000/foo/bar'))
equal(request_url_(request_ctx), new URL('http://localhost:3000/foo/bar'))
// @ts-expect-error TS2345
throws(()=>request_url$_(ctx_())())
// @ts-expect-error TS2345
throws(()=>request_url_(ctx_()))
})
test('store', ()=>{
const request_ctx = request_ctx__new(middleware_ctx__new())
equal(store$_(request_ctx)(), undefined)
equal(store_(request_ctx), undefined)
const store = { request_ctx }
const elysia_context:elysia_context_T = {
request: new Request('http://localhost:3000'),
store,
}
elysia_context__set(request_ctx, elysia_context)
equal(store$_(request_ctx)(), store)
equal(store_(request_ctx), store)
// @ts-expect-error TS2345
throws(()=>store$_(ctx_())())
// @ts-expect-error TS2345
throws(()=>store_(ctx_()))
})
test.run()