fe-drone-ci/tests/unit/utils/formatTime.spec.js

32 lines
1.1 KiB
JavaScript

import { formatTime } from "@/utils/index.js";
describe("Utils:formatTime", () => {
const d = new Date("2018-07-13 17:54:01"); // "2018-07-13 17:54:01"
const retrofit = 5 * 1000;
it("ten digits timestamp", () => {
expect(formatTime((d / 1000).toFixed(0))).toBe("7月13日17时54分");
});
it("test now", () => {
expect(formatTime(+new Date() - 1)).toBe("刚刚");
});
it("less two minute", () => {
expect(formatTime(+new Date() - 60 * 2 * 1000 + retrofit)).toBe("2分钟前");
});
it("less two hour", () => {
expect(formatTime(+new Date() - 60 * 60 * 2 * 1000 + retrofit)).toBe(
"2小时前"
);
});
it("less one day", () => {
expect(formatTime(+new Date() - 60 * 60 * 24 * 1 * 1000)).toBe("1天前");
});
it("more than one day", () => {
expect(formatTime(d)).toBe("7月13日17时54分");
});
it("format", () => {
expect(formatTime(d, "{y}-{m}-{d} {h}:{i}")).toBe("2018-07-13 17:54");
expect(formatTime(d, "{y}-{m}-{d}")).toBe("2018-07-13");
expect(formatTime(d, "{y}/{m}/{d} {h}-{i}")).toBe("2018/07/13 17-54");
});
});