github.com/argoproj/argo-cd/v3@v3.2.1/ui/src/app/applications/components/application-summary/application-auto-sync.test.tsx (about) 1 import { Application } from '../../../shared/models'; 2 3 function isAutoSyncEnabled(app: Application): boolean { 4 return !!(app.spec.syncPolicy?.automated && app.spec.syncPolicy.automated.enabled !== false); 5 } 6 7 test('automated.enabled is true, return to `true`.', () => { 8 const enabledApp = { 9 spec: { 10 syncPolicy: { 11 automated: { enabled: true } 12 } 13 } 14 } as Application; 15 16 expect(isAutoSyncEnabled(enabledApp)).toBe(true); 17 }); 18 19 test('automated.enabled is undefined, return to `true`.', () => { 20 const enabledApp = { 21 spec: { 22 syncPolicy: { automated: {} } 23 } 24 } as Application; 25 26 expect(isAutoSyncEnabled(enabledApp)).toBe(true); 27 }); 28 29 test('automated.enabled is false, return to `false`.', () => { 30 const disabledApp = { 31 spec: { 32 syncPolicy: { automated: { enabled: false } } 33 } 34 } as Application; 35 36 expect(isAutoSyncEnabled(disabledApp)).toBe(false); 37 }); 38 39 test('syncPolicy is nil, return to `false`', () => { 40 const noSyncPolicyApp = { spec: {} } as Application; 41 expect(isAutoSyncEnabled(noSyncPolicyApp)).toBe(false); 42 }); 43 44 test('automated is nil, return to `false`.', () => { 45 const noAutomatedApp = { spec: { syncPolicy: {} } } as Application; 46 expect(isAutoSyncEnabled(noAutomatedApp)).toBe(false); 47 });