Merged in chore/add-tests-to-getAdditionalPrice (pull request #3065)
chore: Refactor types and add tests to parts of price calcuations * Add tests to sumPackages * Refactor types and add tests to getAdditionalPrice * Don't always generate coverage * Add tests and refactor types of getRedemptionPrice Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { describe, expect, it } from "vitest"
|
||||
|
||||
import { AlertTypeEnum } from "@scandic-hotels/common/constants/alert"
|
||||
import { CurrencyEnum } from "@scandic-hotels/common/constants/currency"
|
||||
import { dt } from "@scandic-hotels/common/dt"
|
||||
|
||||
import { filterOverlappingDates } from "./index"
|
||||
import { filterOverlappingDates, sumPackages } from "./index"
|
||||
|
||||
import type { specialAlertsSchema } from "@scandic-hotels/trpc/routers/hotels/schemas/hotel/specialAlerts"
|
||||
import type { z } from "zod"
|
||||
@@ -71,3 +72,29 @@ describe("filterOverlappingDates", () => {
|
||||
expect(result).toHaveLength(0)
|
||||
})
|
||||
})
|
||||
|
||||
describe("sumPackages", () => {
|
||||
it("returns 0 price for null packages", () => {
|
||||
const result = sumPackages(null)
|
||||
expect(result).toEqual({ currency: undefined, price: 0 })
|
||||
})
|
||||
|
||||
it("returns 0 price for undefined packages", () => {
|
||||
const result = sumPackages(undefined)
|
||||
expect(result).toEqual({ currency: undefined, price: 0 })
|
||||
})
|
||||
|
||||
it("returns 0 price for empty packages", () => {
|
||||
const result = sumPackages([])
|
||||
expect(result).toEqual({ currency: undefined, price: 0 })
|
||||
})
|
||||
|
||||
it("sums prices of packages", () => {
|
||||
const result = sumPackages([
|
||||
{ localPrice: { totalPrice: 100, currency: CurrencyEnum.SEK } },
|
||||
{ localPrice: { totalPrice: 200, currency: CurrencyEnum.SEK } },
|
||||
{ localPrice: { totalPrice: 50, currency: CurrencyEnum.SEK } },
|
||||
])
|
||||
expect(result).toEqual({ currency: CurrencyEnum.SEK, price: 350 })
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user