tests/fixtures.oxl
use super.model { Item, Money, Sku, UserId }
use std.rpc { withMeta }
// `asUser(id) { … }` в Стандарте — функция std.test (V.5); std.test её не содержит (DEVIATIONS.md #7),
// поэтому здесь: блок выполняется с заголовком `x-oxl-user`, как будто его прислал клиент.
pub fn asUser<T, effect F>(id: UserId, body: fn() -> T F) -> T F {
var meta: Map<str, str> = Map.new()
meta.insert("x-oxl-user", "{id.raw}")
withMeta(meta, body)
}
// Товар для тестов (V.5: константа TEST_ITEM)
pub static TEST_ITEM: frozen Item = testItem("BOOK-1", 1)
pub fn testItem(sku: str, qty: u32) -> Item {
Item{ sku: Sku.from(sku)!, title: "Test item", price: Money.rub(10), qty: qty }
}Source: examples/shop/tests/fixtures.oxl