mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
feat(core): Add option to filter for empty variables (#12112)
This commit is contained in:
@@ -4,6 +4,7 @@ import type { Variables } from '@/databases/entities/variables';
|
||||
import { VariablesRepository } from '@/databases/repositories/variables.repository';
|
||||
import { generateNanoId } from '@/databases/utils/generators';
|
||||
import { VariablesService } from '@/environments/variables/variables.service.ee';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
import { createOwner, createUser } from './shared/db/users';
|
||||
import * as testDb from './shared/test-db';
|
||||
@@ -65,19 +66,41 @@ beforeEach(async () => {
|
||||
// ----------------------------------------
|
||||
describe('GET /variables', () => {
|
||||
beforeEach(async () => {
|
||||
await Promise.all([createVariable('test1', 'value1'), createVariable('test2', 'value2')]);
|
||||
await Promise.all([
|
||||
createVariable('test1', 'value1'),
|
||||
createVariable('test2', 'value2'),
|
||||
createVariable('empty', ''),
|
||||
]);
|
||||
});
|
||||
|
||||
test('should return an empty array if there is nothing in the cache', async () => {
|
||||
const cacheService = Container.get(CacheService);
|
||||
const spy = jest.spyOn(cacheService, 'get').mockResolvedValueOnce(undefined);
|
||||
const response = await authOwnerAgent.get('/variables');
|
||||
expect(spy).toHaveBeenCalledTimes(1);
|
||||
expect(response.statusCode).toBe(200);
|
||||
expect(response.body.data.length).toBe(0);
|
||||
});
|
||||
|
||||
test('should return all variables for an owner', async () => {
|
||||
const response = await authOwnerAgent.get('/variables');
|
||||
expect(response.statusCode).toBe(200);
|
||||
expect(response.body.data.length).toBe(2);
|
||||
expect(response.body.data.length).toBe(3);
|
||||
});
|
||||
|
||||
test('should return all variables for a member', async () => {
|
||||
const response = await authMemberAgent.get('/variables');
|
||||
expect(response.statusCode).toBe(200);
|
||||
expect(response.body.data.length).toBe(2);
|
||||
expect(response.body.data.length).toBe(3);
|
||||
});
|
||||
|
||||
describe('state:empty', () => {
|
||||
test('only return empty variables', async () => {
|
||||
const response = await authOwnerAgent.get('/variables').query({ state: 'empty' });
|
||||
expect(response.statusCode).toBe(200);
|
||||
expect(response.body.data.length).toBe(1);
|
||||
expect(response.body.data[0]).toMatchObject({ key: 'empty', value: '', type: 'string' });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user