test(client): чистые тесты invitationReference + страница согласования запускается в jsdom
- getInvitationReferenceLabel/getDeliveryNumberDigits вынесены в отдельный тест-файл (без импорта supabaseClient) — проверяются номер доставки и «Доставка …» - supabaseClient: lock берём как «no-lock», если navigator.locks.request нет (jsdom) — иначе весь тест-файл падал на импорте и тесты страницы не запускались
This commit is contained in:
parent
d98c44c9fd
commit
8fa05f1746
|
|
@ -0,0 +1,30 @@
|
|||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
getDeliveryNumberDigits,
|
||||
getInvitationReferenceLabel,
|
||||
} from "./invitationReference";
|
||||
|
||||
describe("invitationReference", () => {
|
||||
it("показывает номер заказа как «Доставка …», без экранирования из 1С", () => {
|
||||
expect(getInvitationReferenceLabel({ orderItems: [{ name: "ТП\\-010796" }] })).toBe(
|
||||
"Доставка ТП-010796",
|
||||
);
|
||||
expect(getInvitationReferenceLabel({ orderNumber: "CD-240032" })).toBe("Доставка CD-240032");
|
||||
expect(getInvitationReferenceLabel({})).toBe("Доставка —");
|
||||
});
|
||||
|
||||
it("несколько счетов — через запятую", () => {
|
||||
expect(
|
||||
getInvitationReferenceLabel({
|
||||
orderItems: [{ name: "СФ Т\\ЕА-28687" }, { name: "СФ Т\\ЕА-28700" }],
|
||||
}),
|
||||
).toBe("Доставки: СФ ТЕА-28687, СФ ТЕА-28700");
|
||||
});
|
||||
|
||||
it("номер доставки — только цифры, «ТП\\-010796» → «010796»", () => {
|
||||
expect(getDeliveryNumberDigits({ orderItems: [{ name: "ТП\\-010796" }] })).toBe("010796");
|
||||
expect(getDeliveryNumberDigits({ orderNumbers: ["ТП\\-010557", "ТП\\-010599"] })).toBe("010557");
|
||||
expect(getDeliveryNumberDigits({ orderNumber: "9788324113|28.09.2026" })).toBe("978832411328092026");
|
||||
expect(getDeliveryNumberDigits({})).toBe("");
|
||||
});
|
||||
});
|
||||
|
|
@ -114,7 +114,13 @@ export const supabase = hasSupabaseConfig
|
|||
storage: secureStorage,
|
||||
autoRefreshToken: true,
|
||||
detectSessionInUrl: false,
|
||||
lock: navigator.locks ? undefined : "no-lock",
|
||||
// navigator.locks есть не везде (jsdom/старые окружения): тогда фиксированный lock
|
||||
lock:
|
||||
typeof navigator !== "undefined" &&
|
||||
navigator.locks &&
|
||||
typeof navigator.locks.request === "function"
|
||||
? undefined
|
||||
: "no-lock",
|
||||
},
|
||||
global: {
|
||||
headers: { "x-application-name": "supersam" },
|
||||
|
|
|
|||
Loading…
Reference in New Issue