@plq/faker
Version:
A set of classes for mocking known data types such as browser history, browser download list, persona, domain name, Jira project, GitHub repository, etc.
60 lines • 1.78 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseItemsMock = exports.BaseSiteMock = void 0;
const user_1 = __importDefault(require("./user"));
const project_1 = __importDefault(require("./project"));
const domain_1 = __importDefault(require("./domain"));
const base_1 = require("./base");
const faker_1 = require("@faker-js/faker");
/**
* Class representing a base site mock.
* @extends BaseItemMock
*/
class BaseSiteMock extends base_1.BaseItemMock {
user;
project;
domain;
constructor(query) {
super(query);
this.domain = this.query.domain ?? new domain_1.default().getItem();
this.user = this.query?.user ?? new user_1.default(this.domain).getItem();
this.project = this.query?.project ?? new project_1.default(this.domain).getItem();
}
/**
* Get the available templates of the site.
*/
get providers() {
return Object.keys(this.templates);
}
}
exports.BaseSiteMock = BaseSiteMock;
/**
* Class representing a base items mock.
* @extends BaseItemsMock
*/
class BaseItemsMock extends base_1.BaseItemMock {
items = [];
/**
* Get a random item from the items array.
*/
getItem() {
return faker_1.faker.helpers.arrayElement(this.items);
}
/**
* Get all items.
*/
getItems() {
return this.items;
}
/**
* Reset the items array.
*/
reset() {
this.items = this.createMockItems();
}
}
exports.BaseItemsMock = BaseItemsMock;
//# sourceMappingURL=base-extended.js.map