JUNOHUB-test/src/lib/products/applyLoadStockSupplierQuantity.test.ts

30 lines
1.2 KiB
TypeScript

import { describe, it, expect } from "vitest"
import { mergeShopifyProductDataAfterLoadStock } from "./applyLoadStockSupplierQuantity"
import { supplierQuantityFromSyncedProductData } from "./shopifyInventorySum"
describe("mergeShopifyProductDataAfterLoadStock", () => {
it("decrements explicit supplier_quantity", () => {
const merged = mergeShopifyProductDataAfterLoadStock({ supplier_quantity: 10, title: "T" }, 3)
expect(supplierQuantityFromSyncedProductData(merged)).toBe(7)
})
it("uses variant sum when supplier_quantity absent", () => {
const merged = mergeShopifyProductDataAfterLoadStock(
{
variants: [{ inventory_quantity: 4 }, { inventory_quantity: 2 }],
},
3
)
expect(supplierQuantityFromSyncedProductData(merged)).toBe(3)
})
it("does not go below zero", () => {
const merged = mergeShopifyProductDataAfterLoadStock({ supplier_quantity: 2 }, 5)
expect(supplierQuantityFromSyncedProductData(merged)).toBe(0)
})
it("throws when supplier quantity unknown", () => {
expect(() => mergeShopifyProductDataAfterLoadStock({}, 1)).toThrow("supplier quantity unknown")
})
})