Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { test, expect } from "@test/global-setup";
- import {
- workspaceConstants,
- getAllInternalResourceMetas,
- InternalResourceMeta,
- setCurrentWorkspaceId,
- setBasePropertyTypeInfo,
- getResourceMeta,
- metaValidationMessages,
- } from "@fernir2/saas-kit/server";
- import { personProps, getObjectValues, PropertyMeta } from "@fernir2/saas-kit";
- import { testNames } from "@test/test-data/constants/test-names";
- import { getPersonPropertyMetas } from "@test/test-data/meta/person-property-metas";
- test.beforeAll("Set workspaceId userId internal meta config", async () => {
- setCurrentWorkspaceId(workspaceConstants.defaultWorkspaceId);
- });
- test(`${setBasePropertyTypeInfo.name} - when property not found - then throw exception`, async () => {
- // Arrange
- const resourceConfigs: InternalResourceMeta[] = Array.from(Object.values(getAllInternalResourceMetas()));
- // Act, Assert
- for (const resource of resourceConfigs) {
- const propertyMetas = (await getResourceMeta(resource.name))?.properties;
- const property = getObjectValues<PropertyMeta>(propertyMetas).find(
- (propertyMeta) => propertyMeta.name === personProps.phoneBrandId,
- );
- if (property) {
- property.name = testNames.fakeId;
- const expected = metaValidationMessages.propertyNotFound.replace("{0}", property.name);
- const resourceMeta = await getResourceMeta(resource.name);
- expect(() => setBasePropertyTypeInfo(property, resourceMeta)).toThrow(expected);
- }
- }
- });
- test(`${getPersonPropertyMetas.name} - when workspaceId property - then isViewVisible is true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const workspaceIdMeta = propertyMetas[personProps.workspaceId];
- // Act, Assert
- expect(workspaceIdMeta.isViewVisible).toBe(true);
- });
- test(`${getPersonPropertyMetas.name} - when friendCount property - then isDynamic is true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const friendCountMeta = propertyMetas[personProps.friendCount];
- // Act, Assert
- expect(friendCountMeta.isDynamic).toBe(true);
- });
- test(`${getPersonPropertyMetas.name} - when fullName property - then isDynamic is true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const fullNameMeta = propertyMetas[personProps.fullName];
- // Act, Assert
- expect(fullNameMeta.isDynamic).toBe(true);
- });
- test(`${getPersonPropertyMetas.name} - when dynamic properties - then required is not true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- // Act
- const dynamicProps = Object.values(propertyMetas).filter(meta => meta.isDynamic);
- // Assert
- for (const prop of dynamicProps) {
- expect(prop.required).not.toBe(true);
- }
- });
- test(`${getPersonPropertyMetas.name} - when regular property - then isViewVisible is undefined`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const nameMeta = propertyMetas[personProps.name];
- // Act, Assert
- expect(nameMeta.isViewVisible).toBeUndefined();
- });
- test(`${getPersonPropertyMetas.name} - when regular property - then fileUploadType is undefined`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const nameMeta = propertyMetas[personProps.name];
- // Act, Assert
- expect(nameMeta.fileUploadType).toBeUndefined();
- });
- test(`${getPersonPropertyMetas.name} - when regular property - then isBlobImage is undefined`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const nameMeta = propertyMetas[personProps.name];
- // Act, Assert
- expect(nameMeta.isBlobImage).toBeUndefined();
- });
- test(`${getPersonPropertyMetas.name} - when regular property - then isDynamic is undefined`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const nameMeta = propertyMetas[personProps.name];
- // Act, Assert
- expect(nameMeta.isDynamic).toBeUndefined();
- });
- test(`${getPersonPropertyMetas.name} - when dynamic properties - then isDynamic is true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const expectedDynamicProperties = [personProps.friendCount, personProps.fullName];
- // Act, Assert
- for (const propName of expectedDynamicProperties) {
- const propertyMeta = propertyMetas[propName];
- expect(propertyMeta.isDynamic).toBe(true);
- }
- });
- test(`${getPersonPropertyMetas.name} - when image properties - then isBlobImage is true`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const imageUrlMeta = propertyMetas[personProps.imageUrl];
- const profileImageMeta = propertyMetas["profileImage"];
- // Act, Assert
- expect(imageUrlMeta.isBlobImage).toBe(true);
- expect(profileImageMeta.isBlobImage).toBe(true);
- });
- test(`${getPersonPropertyMetas.name} - when file upload properties - then fileUploadType is set correctly`, () => {
- // Arrange
- const propertyMetas = getPersonPropertyMetas();
- const profileImageMeta = propertyMetas["profileImage"];
- const attachmentsMeta = propertyMetas["attachments"];
- // Act, Assert
- expect(profileImageMeta.fileUploadType).toBe(1); // fileUploadType.single
- expect(attachmentsMeta.fileUploadType).toBe(0); // fileUploadType.multiple
- });
Advertisement
Add Comment
Please, Sign In to add comment