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  });