mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
feat: Only show workflows shared with you in the overview page (#14773)
This commit is contained in:
@@ -885,6 +885,56 @@ describe('GET /workflows', () => {
|
||||
expect(response2.body.data).toHaveLength(0);
|
||||
});
|
||||
|
||||
test('should filter by personal project and return only workflows where the user is owner', async () => {
|
||||
const workflow = await createWorkflow({ name: 'First' }, owner);
|
||||
const workflow2 = await createWorkflow({ name: 'Second' }, member);
|
||||
await shareWorkflowWithUsers(workflow2, [owner]);
|
||||
const pp = await Container.get(ProjectRepository).getPersonalProjectForUserOrFail(owner.id);
|
||||
|
||||
const response1 = await authOwnerAgent
|
||||
.get('/workflows')
|
||||
.query(`filter={ "projectId": "${pp.id}" }`)
|
||||
.expect(200);
|
||||
|
||||
expect(response1.body.data).toHaveLength(1);
|
||||
expect(response1.body.data[0].id).toBe(workflow.id);
|
||||
|
||||
const response2 = await authOwnerAgent
|
||||
.get('/workflows')
|
||||
.query('filter={ "projectId": "Non-Existing Project ID" }')
|
||||
.expect(200);
|
||||
|
||||
expect(response2.body.data).toHaveLength(0);
|
||||
|
||||
const response3 = await authOwnerAgent.get('/workflows').query('filter={}').expect(200);
|
||||
expect(response3.body.data).toHaveLength(2);
|
||||
});
|
||||
|
||||
test('should filter by personal project and return only workflows where the user is member', async () => {
|
||||
const workflow = await createWorkflow({ name: 'First' }, member);
|
||||
const workflow2 = await createWorkflow({ name: 'Second' }, owner);
|
||||
await shareWorkflowWithUsers(workflow2, [member]);
|
||||
const pp = await Container.get(ProjectRepository).getPersonalProjectForUserOrFail(member.id);
|
||||
|
||||
const response1 = await authMemberAgent
|
||||
.get('/workflows')
|
||||
.query(`filter={ "projectId": "${pp.id}" }`)
|
||||
.expect(200);
|
||||
|
||||
expect(response1.body.data).toHaveLength(1);
|
||||
expect(response1.body.data[0].id).toBe(workflow.id);
|
||||
|
||||
const response2 = await authMemberAgent
|
||||
.get('/workflows')
|
||||
.query('filter={ "projectId": "Non-Existing Project ID" }')
|
||||
.expect(200);
|
||||
|
||||
expect(response2.body.data).toHaveLength(0);
|
||||
|
||||
const response3 = await authMemberAgent.get('/workflows').query('filter={}').expect(200);
|
||||
expect(response3.body.data).toHaveLength(2);
|
||||
});
|
||||
|
||||
test('should filter workflows by parentFolderId', async () => {
|
||||
const pp = await Container.get(ProjectRepository).getPersonalProjectForUserOrFail(owner.id);
|
||||
|
||||
@@ -911,21 +961,6 @@ describe('GET /workflows', () => {
|
||||
expect(response2.body.data).toHaveLength(1);
|
||||
expect(response2.body.data[0].id).toBe(workflow2.id);
|
||||
});
|
||||
|
||||
test('should return homeProject when filtering workflows by projectId', async () => {
|
||||
const workflow = await createWorkflow({ name: 'First' }, owner);
|
||||
await shareWorkflowWithUsers(workflow, [member]);
|
||||
const pp = await getPersonalProject(member);
|
||||
|
||||
const response = await authMemberAgent
|
||||
.get('/workflows')
|
||||
.query(`filter={ "projectId": "${pp.id}" }`)
|
||||
.expect(200);
|
||||
|
||||
expect(response.body.data).toHaveLength(1);
|
||||
expect(response.body.data[0].id).toBe(workflow.id);
|
||||
expect(response.body.data[0].homeProject).not.toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('select', () => {
|
||||
@@ -1724,8 +1759,7 @@ describe('GET /workflows?includeFolders=true', () => {
|
||||
});
|
||||
|
||||
test('should return homeProject when filtering workflows and folders by projectId', async () => {
|
||||
const workflow = await createWorkflow({ name: 'First' }, owner);
|
||||
await shareWorkflowWithUsers(workflow, [member]);
|
||||
const workflow = await createWorkflow({ name: 'First' }, member);
|
||||
const pp = await getPersonalProject(member);
|
||||
const folder = await createFolder(pp, {
|
||||
name: 'First Folder',
|
||||
|
||||
Reference in New Issue
Block a user