UNPKG

@shopware-ag/meteor-component-library

Version:

The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).

139 lines (102 loc) 2.93 kB
import { describe, it } from "vitest"; import { required } from "./validation.service"; describe("validation-service", () => { describe("required", () => { it("is marked as required when providing true", () => { // ARRANGE const subject = required; // ACT const result = subject(true); // ASSERT expect(result).toBeTruthy(); }); it("is not marked as required when providing false", () => { // ARRANGE const subject = required; // ACT const result = subject(false); // ASSERT expect(result).toBeFalsy(); }); it("is marked as required when providing an non-empty string", () => { // ARRANGE const subject = required; // ACT const result = subject("test"); // ASSERT expect(result).toBeTruthy(); }); it("is not marked as required when providing an empty string", () => { // ARRANGE const subject = required; // ACT const result = subject(""); // ASSERT expect(result).toBeFalsy(); }); it("is not marked as required when providing undefined", () => { // ARRANGE const subject = required; // ACT const result = subject(undefined); // ASSERT expect(result).toBeFalsy(); }); it("is not marked as required when providing null", () => { // ARRANGE const subject = required; // ACT const result = subject(null); // ASSERT expect(result).toBeFalsy(); }); it("is marked as required when providing an object with keys", () => { // ARRANGE const subject = required; // ACT const result = subject({ key: "value" }); // ASSERT expect(result).toBeTruthy(); }); it("is not marked as required when providing an empty object", () => { // ARRANGE const subject = required; // ACT const result = subject({}); // ASSERT expect(result).toBeFalsy(); }); it("is not marked as required when passing a function", () => { // ARRANGE const subject = required; // ACT const result = subject(() => {}); // ASSERT expect(result).toBeFalsy(); }); it("is marked as required when passing a number", () => { // ARRANGE const subject = required; // ACT const result = subject(1); // ASSERT expect(result).toBeTruthy(); }); it("is is marked as required when passing an empty array", () => { // ARRANGE const subject = required; // ACT const result = subject([]); // ASSERT expect(result).toBeFalsy(); }); it("is marked as required when passing an array with values", () => { // ARRANGE const subject = required; // ACT const result = subject([1]); // ASSERT expect(result).toBeTruthy(); }); }); });