describe('Cart durable object', () => {
let context: GraphqlContext
let cart: Cart
beforeAll(async () => {
context = createTestContext()
const id = context.bindings.Cart.newUniqueId()
const state = await getMiniflareDurableObjectState(id as any)
cart = new Cart(state, context.bindings)
})
test('add item', async () => {
const url = createCartDurableObjectUrl({ path: 'add' })
const req = new Request(url, {
method: 'POST',
body: JSON.stringify({
itemId: 'World of Warcraft: The Burning Crusade',
quantity: 1,
}),
})
const resp = await cart.fetch(req)
const items: CartItem[] = await resp.json()
expect(items).toEqual([
{
id: 'World of Warcraft: The Burning Crusade',
name: 'World of Warcraft: The Burning Crusade',
price: {
amount: 1,
currency: Currency.Gbp,
},
quantity: 1,
},
])
})
})
describe('Cart durable object', () => {
let context: GraphqlContext
let cart: Cart
beforeAll(async () => {
context = createTestContext()
const id = context.bindings.Cart.newUniqueId()
const state = await getMiniflareDurableObjectState(id as any)
cart = new Cart(state, context.bindings)
})
test('add item', async () => {
const url = createCartDurableObjectUrl({ path: 'add' })
const req = new Request(url, {
method: 'POST',
body: JSON.stringify({
itemId: 'World of Warcraft: The Burning Crusade',
quantity: 1,
}),
})
const resp = await cart.fetch(req)
const items: CartItem[] = await resp.json()
expect(items).toEqual([
{
id: 'World of Warcraft: The Burning Crusade',
name: 'World of Warcraft: The Burning Crusade',
price: {
amount: 1,
currency: Currency.Gbp,
},
quantity: 1,
},
])
})
})