@tomei/sso
Version:
Tomei SSO Package
83 lines • 4.66 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const user_system_access_1 = require("../../../../src/components/user-system-access/user-system-access");
const user_system_access_repository_1 = require("../../../../src/components/user-system-access/user-system-access.repository");
const general_1 = require("@tomei/general");
describe('UserSystemAccess', () => {
let userSystemAccess;
const userSystemAccessAttr = {
UserSystemAccessId: 1,
UserId: 1,
SystemCode: 'system1',
Status: 'active',
CreatedById: 1,
CreatedAt: new Date(),
UpdatedById: 1,
UpdatedAt: new Date(),
};
beforeEach(() => {
userSystemAccess = new user_system_access_1.UserSystemAccess(userSystemAccessAttr);
});
afterEach(() => {
jest.clearAllMocks();
});
describe('constructor', () => {
it('should create a new UserSystemAccess instance', () => {
expect(userSystemAccess).toBeDefined();
expect(userSystemAccess).toBeInstanceOf(user_system_access_1.UserSystemAccess);
expect(userSystemAccess.UserSystemAccessId).toBe(userSystemAccessAttr.UserSystemAccessId);
expect(userSystemAccess.UserId).toBe(userSystemAccessAttr.UserId);
expect(userSystemAccess.SystemCode).toBe(userSystemAccessAttr.SystemCode);
expect(userSystemAccess.Status).toBe(userSystemAccessAttr.Status);
expect(userSystemAccess.CreatedById).toBe(userSystemAccessAttr.CreatedById);
expect(userSystemAccess.CreatedAt).toBe(userSystemAccessAttr.CreatedAt);
expect(userSystemAccess.UpdatedById).toBe(userSystemAccessAttr.UpdatedById);
expect(userSystemAccess.UpdatedAt).toBe(userSystemAccessAttr.UpdatedAt);
});
});
describe('init', () => {
it('should initialize UserSystemAccess with valid UserSystemAccessId', () => __awaiter(void 0, void 0, void 0, function* () {
const findOneMock = jest
.spyOn(user_system_access_repository_1.UserSystemAccessRepository.prototype, 'findOne')
.mockResolvedValueOnce(Object.assign(Object.assign({}, userSystemAccessAttr), { get: () => userSystemAccessAttr }));
const result = yield user_system_access_1.UserSystemAccess.init(null, 1);
expect(findOneMock).toHaveBeenCalledTimes(1);
expect(findOneMock).toHaveBeenCalledWith({
where: { UserSystemAccessId: 1 },
transaction: null,
});
expect(result).toBeInstanceOf(user_system_access_1.UserSystemAccess);
expect(result.UserSystemAccessId).toBe(userSystemAccessAttr.UserSystemAccessId);
expect(result.UserId).toBe(userSystemAccessAttr.UserId);
expect(result.SystemCode).toBe(userSystemAccessAttr.SystemCode);
expect(result.Status).toBe(userSystemAccessAttr.Status);
expect(result.CreatedById).toBe(userSystemAccessAttr.CreatedById);
expect(result.CreatedAt).toBe(userSystemAccessAttr.CreatedAt);
expect(result.UpdatedById).toBe(userSystemAccessAttr.UpdatedById);
expect(result.UpdatedAt).toBe(userSystemAccessAttr.UpdatedAt);
}));
it('should throw ClassError when UserSystemAccessId is not found', () => __awaiter(void 0, void 0, void 0, function* () {
jest
.spyOn(user_system_access_repository_1.UserSystemAccessRepository.prototype, 'findOne')
.mockResolvedValueOnce(null);
try {
yield user_system_access_1.UserSystemAccess.init(null, 1);
expect(false).toBe(true);
}
catch (error) {
expect(error).toBeInstanceOf(general_1.ClassError);
expect(error.message).toBe('UserSystemAccess not found');
}
}));
});
});
//# sourceMappingURL=user-system-access.spec.js.map