Defer promotion snapshots to campaign activation
This commit is contained in:
@@ -59,8 +59,15 @@ describe('operation progress', () => {
|
||||
expect(campaignFlow([{ restart_state: 'failed', files_changed: 0, restarted_at: null }], false)[0].state).toBe('failed');
|
||||
});
|
||||
it('requires health verification after campaign restart and preserves manual work', () => {
|
||||
expect(campaignFlow([{ restart_state: 'pending', files_changed: 1, restarted_at: 'now' }], false).map(s => s.state)).toEqual(['done', 'done', 'done', 'current']);
|
||||
expect(campaignFlow([{ restart_state: 'pending', files_changed: 1, restarted_at: 'now' }], false).map(s => s.state)).toEqual(['done', 'done', 'done', 'done', 'current']);
|
||||
expect(campaignFlow([{ restart_state: 'manual', files_changed: 1, restarted_at: null }], true).some(s => s.state === 'current')).toBe(false);
|
||||
expect(campaignFlow([{ restart_state: 'done', files_changed: 1, restarted_at: 'now' }], true).every(s => s.state === 'done')).toBe(true);
|
||||
});
|
||||
it('shows snapshot confirmation before file application and restart', () => {
|
||||
const servers = [{ server: 'test', restart_state: 'pending', files_changed: 1, restarted_at: null }];
|
||||
const files = [{ server: 'test', snapshot_pending: 1, apply_state: 'applying' }];
|
||||
expect(campaignFlow(servers, false, files)[1]).toEqual({ label: 'Capture rollback snapshots', state: 'current' });
|
||||
expect(campaignFlow(servers, false, [{ ...files[0], snapshot_pending: 0 }])[2].state).toBe('current');
|
||||
expect(campaignFlow(servers, false, [{ ...files[0], snapshot_pending: 0, apply_state: 'applied' }])[3].state).toBe('current');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user