Treat suspended workspace as workspaces that need to be synced (#9669)
In this PR: - migrate WorkspaceActivationStatus to twenty-shared (and update case to make FE and BE consistent) - introduce isWorkspaceActiveOrSuspended in twenty-shared - refactor the code to use it (when we fetch data on the FE, we want to keep SUSPENDED workspace working + when we sync workspaces we want it too)
This commit is contained in:
@ -0,0 +1,52 @@
|
||||
import { WorkspaceActivationStatus } from '../../types/WorkspaceActivationStatus';
|
||||
import { isWorkspaceActiveOrSuspended } from '../isWorkspaceActiveOrSuspended';
|
||||
|
||||
describe('isWorkspaceActiveOrSuspended', () => {
|
||||
it('should return true for Active workspace', () => {
|
||||
const workspace = {
|
||||
activationStatus: WorkspaceActivationStatus.ACTIVE,
|
||||
};
|
||||
|
||||
expect(isWorkspaceActiveOrSuspended(workspace)).toBe(true);
|
||||
});
|
||||
|
||||
it('should return true for Suspended workspace', () => {
|
||||
const workspace = {
|
||||
activationStatus: WorkspaceActivationStatus.SUSPENDED,
|
||||
};
|
||||
|
||||
expect(isWorkspaceActiveOrSuspended(workspace)).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false for Inactive workspace', () => {
|
||||
const workspace = {
|
||||
activationStatus: WorkspaceActivationStatus.INACTIVE,
|
||||
};
|
||||
|
||||
expect(isWorkspaceActiveOrSuspended(workspace)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for OngoingCreation workspace', () => {
|
||||
const workspace = {
|
||||
activationStatus: WorkspaceActivationStatus.ONGOING_CREATION,
|
||||
};
|
||||
|
||||
expect(isWorkspaceActiveOrSuspended(workspace)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for PendingCreation workspace', () => {
|
||||
const workspace = {
|
||||
activationStatus: WorkspaceActivationStatus.PENDING_CREATION,
|
||||
};
|
||||
|
||||
expect(isWorkspaceActiveOrSuspended(workspace)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for undefined workspace', () => {
|
||||
expect(isWorkspaceActiveOrSuspended(undefined)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for null workspace', () => {
|
||||
expect(isWorkspaceActiveOrSuspended(null)).toBe(false);
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,12 @@
|
||||
import { WorkspaceActivationStatus } from '../types/WorkspaceActivationStatus';
|
||||
|
||||
export const isWorkspaceActiveOrSuspended = (
|
||||
workspace?: {
|
||||
activationStatus: WorkspaceActivationStatus;
|
||||
} | null,
|
||||
): boolean => {
|
||||
return (
|
||||
workspace?.activationStatus === WorkspaceActivationStatus.ACTIVE ||
|
||||
workspace?.activationStatus === WorkspaceActivationStatus.SUSPENDED
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user