@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
text/typescript
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();
});
});
});