fix: 빌드 완료 뒤 오픈 공지를 복원한다

This commit is contained in:
2026-08-27 02:41:36 +00:00
parent 957c619cf8
commit c895ab18d2
5 changed files with 54 additions and 18 deletions
@@ -772,6 +772,35 @@ describe('admin operation API', () => {
},
});
await harness.caller.admin.operations.requestReset({
profileName: 'che:2',
sourceMode: 'COMMIT',
sourceRef: 'HEAD',
install,
});
expect(harness.createdInputs[1]).toMatchObject({
type: 'RESET',
scheduledAt: undefined,
payload: {
install,
publicAnnouncement: {
enabled: false,
scenarioId: 1010,
scenarioTitle: expect.any(String),
scheduledAt: null,
preopenAt: install.preopenAt,
openAt: install.openAt,
turnTermMinutes: 60,
fictionMode: '가상',
npcMode: 0,
defaultStatTotal: expect.any(Number),
otherTextInfo: expect.any(String),
autorunUser: null,
},
},
});
await expect(
harness.caller.admin.operations.requestReset({
profileName: 'che:2',
@@ -96,10 +96,21 @@ describe('resolveUpcomingResetAnnouncement', () => {
}
});
it('fails closed for an unpublished or incomplete snapshot', () => {
it('keeps an unpublished snapshot hidden until a completed build is ready', () => {
const unpublished = buildOperation();
unpublished.payload = { publicAnnouncement: { enabled: false } };
unpublished.payload = {
publicAnnouncement: {
...(unpublished.payload as { publicAnnouncement: Record<string, unknown> }).publicAnnouncement,
enabled: false,
scheduledAt: null,
},
};
expect(resolveUpcomingResetAnnouncement(unpublished, new Date('2026-08-27T04:00:00.000Z'))).toBeNull();
unpublished.status = 'SUCCEEDED';
expect(resolveUpcomingResetAnnouncement(unpublished, new Date('2026-08-27T04:00:00.000Z'))).toMatchObject({
phase: 'READY',
scheduledAt: null,
});
const incomplete = buildOperation();
incomplete.payload = { publicAnnouncement: { enabled: true, scenarioTitle: '황건적의 난' } };