PliWould/lib/__tests__/product-test.ts

24 lines
912 B
TypeScript
Raw Normal View History

import { length } from "enheter";
import { AreaProduct, LengthProduct, price } from "../product";
describe("Product tests", () => {
it(`Length product gives correct price for a shorter length`, () => {
const standard = new LengthProduct(price("USD", 20), length("foot", 4));
const comparison = standard.priceFor(length("foot", 2));
expect(comparison.value).toEqual(10);
});
it(`Length product gives correct price for a longer length`, () => {
const standard = new LengthProduct(price("USD", 20), length("foot", 4));
const comparison = standard.priceFor(length("foot", 8));
expect(comparison.value).toEqual(40);
});
it(`Length product gives correct price if different units`, () => {
const standard = new LengthProduct(price("USD", 10), length("foot", 1));
const comparison = standard.priceFor(length("inch", 24));
expect(comparison.value).toEqual(20);
});
});