Files
bruno/packages/bruno-electron/tests/store/global-environments.test.js
2025-12-04 01:37:20 +05:30

55 lines
1.8 KiB
JavaScript

const { globalEnvironmentsStore } = require('../../src/store/global-environments');
// Previously, a bug caused environment variables to be saved without a type.
// Since that issue is now fixed, this code ensures that anyone who imported
// data before the fix will have the missing types added retroactively.
describe('global environment variable type backward compatibility', () => {
beforeEach(() => {
globalEnvironmentsStore.store.clear();
});
it('should add type field for existing global environments without type', () => {
// Mock global environments without type field
const mockGlobalEnvironments = [
{
uid: 'yDlwWe3qgimPG20G7AbF7',
name: 'Test Environment',
variables: [
{
uid: 'b6BIHGaCrm4m97YA2dIdx',
name: 'regular_var',
value: 'regular_value',
enabled: true,
secret: false
// Missing: type field
},
{
uid: 'yQTqanPoMdRjKnHyIOZNc',
name: 'secret_var',
value: 'secret_value',
enabled: true,
secret: true
// Missing: type field
}
]
}
];
globalEnvironmentsStore.store.set('environments', mockGlobalEnvironments);
const processedEnvironments = globalEnvironmentsStore.getGlobalEnvironments();
expect(processedEnvironments).toHaveLength(1);
expect(processedEnvironments[0].variables).toHaveLength(2);
const regularVar = processedEnvironments[0].variables.find((v) => v.name === 'regular_var');
const secretVar = processedEnvironments[0].variables.find((v) => v.name === 'secret_var');
expect(regularVar.name).toBe('regular_var');
expect(regularVar.type).toBe('text');
expect(secretVar.name).toBe('secret_var');
expect(secretVar.type).toBe('text');
});
});