ConusAI vendor v0.1.0-beta.114
ci / gate (push) Waiting to run

This commit is contained in:
ConusAI vendor v0.1.0-beta.114
2026-11-14 09:56:45 +00:00
commit 1ce8d23c35
867 changed files with 122104 additions and 0 deletions
+114
View File
@@ -0,0 +1,114 @@
// SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0
// Actual generated SDK over synthetic HTTP; this is not live fiscal/provider acceptance.
import { requestBusinessBinding } from "@conusai-kit/business"
import { businessServiceHooks } from "@conusai-kit/business/server"
import { Container, type ServiceAdmissionContext } from "@conusai-kit/core"
import { afterEach, describe, expect, it, vi } from "vitest"
import { sdkInvoicingService } from "../adapters/service.js"
import { invoicingModule } from "../module.js"
import { id, invoiceId, raw, terms } from "./fixture.js"
const bindingId = id
function json(value: unknown) {
return new Response(JSON.stringify(value).replaceAll('"RAW_REVISION"', "9007199254740993"), {
headers: { "content-type": "application/json" },
})
}
async function fixture(reply: (request: Request) => Response | Promise<Response>) {
const requests: Request[] = []
vi.stubGlobal("fetch", async (input: Request | string | URL) => {
const request = new Request(input)
requests.push(request.clone())
return reply(request)
})
const container = new Container()
const hooks = businessServiceHooks({
env: { apiUrl: "https://platform.example.test/api", token: "synthetic-token", orgSlug: "fixture" },
platformOrganizationId: 7,
platformProjectId: 9,
platformEnvironmentId: 11,
profile: "postgres",
controlPlane: {
lookup: async (appTenantId) => ({
partition_major: 1,
binding_id: bindingId,
organization_id: 7,
project_id: 9,
environment_id: 11,
environment_uuid: id,
app_tenant_id: appTenantId,
}),
observe: async () => {
throw new Error("This fixture does not certify readiness")
},
},
})
const context: ServiceAdmissionContext = {
container,
module: "invoicing",
procedure: "invoicing.invoice.list",
kind: "read",
scope: { level: "org", orgId: id, actor: { userId: id } },
}
await hooks.prepareServices?.(container, context, invoicingModule.serviceRequirements ?? [])
return { service: sdkInvoicingService(requestBusinessBinding(container)), requests }
}
afterEach(() => vi.unstubAllGlobals())
describe("Invoicing generated wire adapter", () => {
it("preserves decimal and int64 digits through a real generated client", async () => {
const { service, requests } = await fixture(() => json(raw()))
const result = await service.get(invoiceId)
expect(result.revision).toBe("9007199254740993")
expect(result.data.lines[0]?.net_price.amount).toBe(terms.lines[0]?.net_price.amount)
await service.transition("issue", { invoiceId, expectedVersion: result.revision, key: `fixture:${id}` })
const body = await requests[1]?.text()
expect(body).toContain('"revision":9007199254740993')
expect(body).toContain(`fixture:${id}`)
})
it("denies a foreign app subject before issuing any network request", async () => {
const { service, requests } = await fixture(() => json(raw()))
await expect(
service.draft(
{
...terms,
buyer: {
...terms.buyer,
reference:
"conusai://app-partitions/01900000-0000-7000-8000-000000000099/members/01900000-0000-7000-8000-000000000001",
},
},
`fixture:${id}`,
),
).rejects.toMatchObject({ code: "bad_request" })
expect(requests).toHaveLength(0)
})
it("returns bounded XML for explicit download instead of parsing it as JSON", async () => {
const { service } = await fixture(
() => new Response("<Invoice>synthetic</Invoice>", { headers: { "content-type": "application/xml" } }),
)
expect(await service.ubl(invoiceId)).toEqual({
filename: `invoice-${invoiceId}.xml`,
xml: "<Invoice>synthetic</Invoice>",
})
})
it("maps service failures without returning arbitrary private remote details", async () => {
const { service } = await fixture(
() =>
new Response(
JSON.stringify({
type: "https://conusai.com/problems/conflict",
title: "Conflict",
status: 409,
detail: "private fixture value",
}),
{ status: 409, headers: { "content-type": "application/problem+json" } },
),
)
const refused = await service.get(invoiceId).then(
() => undefined,
(error: unknown) => error,
)
expect(refused).toMatchObject({ code: "business_conflict", status: 409 })
expect(JSON.stringify((refused as { problem: unknown }).problem)).not.toContain("private fixture value")
})
})