mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-12 09:40:41 +00:00
test: tighten cron empty state assertions
This commit is contained in:
@@ -167,7 +167,7 @@ describe("CronService - session reaper runs in finally block (#31946)", () => {
|
||||
const updatedSessionStore = JSON.parse(
|
||||
await fs.readFile(sessionStorePath, "utf-8"),
|
||||
) as Record<string, unknown>;
|
||||
expect(updatedSessionStore).toEqual({});
|
||||
expect(updatedSessionStore).toStrictEqual({});
|
||||
expect(state.running).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -219,9 +219,9 @@ describe("cron store", () => {
|
||||
const backup = JSON.parse(backupRaw);
|
||||
// jobs.json now contains config-only (state stripped to {}).
|
||||
expect(current.jobs[0].id).toBe("job-2");
|
||||
expect(current.jobs[0].state).toEqual({});
|
||||
expect(current.jobs[0].state).toStrictEqual({});
|
||||
expect(backup.jobs[0].id).toBe("job-1");
|
||||
expect(backup.jobs[0].state).toEqual({});
|
||||
expect(backup.jobs[0].state).toStrictEqual({});
|
||||
});
|
||||
|
||||
it("skips backup files for runtime-only state churn", async () => {
|
||||
@@ -246,7 +246,7 @@ describe("cron store", () => {
|
||||
// jobs.json should NOT be rewritten (only runtime changed).
|
||||
const configRaw = await fs.readFile(store.storePath, "utf-8");
|
||||
const config = JSON.parse(configRaw);
|
||||
expect(config.jobs[0].state).toEqual({});
|
||||
expect(config.jobs[0].state).toStrictEqual({});
|
||||
expect(config.jobs[0]).not.toHaveProperty("updatedAtMs");
|
||||
|
||||
// State file should contain runtime fields.
|
||||
@@ -326,7 +326,7 @@ describe("cron store", () => {
|
||||
const config = JSON.parse(await fs.readFile(storePath, "utf-8"));
|
||||
expect(Array.isArray(config.jobs)).toBe(true);
|
||||
expect(config.jobs[0].id).toBe("job-1");
|
||||
expect(config.jobs[0].state).toEqual({});
|
||||
expect(config.jobs[0].state).toStrictEqual({});
|
||||
|
||||
const stateFile = JSON.parse(await fs.readFile(statePath, "utf-8"));
|
||||
expect(stateFile.jobs["job-1"].state.nextRunAtMs).toBe(first.jobs[0].createdAtMs + 60_000);
|
||||
@@ -378,7 +378,7 @@ describe("cron store", () => {
|
||||
const stateRawAfter = await fs.readFile(statePath, "utf-8");
|
||||
|
||||
expect(config.jobs[0].id).toBe("job-1");
|
||||
expect(config.jobs[0].state).toEqual({});
|
||||
expect(config.jobs[0].state).toStrictEqual({});
|
||||
expect(stateRawAfter).toBe(stateRawBefore);
|
||||
expect(renamedDestinations).toContain(store.storePath);
|
||||
expect(renamedDestinations).not.toContain(statePath);
|
||||
@@ -403,7 +403,7 @@ describe("cron store", () => {
|
||||
const stateFile = JSON.parse(await fs.readFile(statePath, "utf-8"));
|
||||
|
||||
expect(config.jobs[0]).not.toHaveProperty("updatedAtMs");
|
||||
expect(config.jobs[0].state).toEqual({});
|
||||
expect(config.jobs[0].state).toStrictEqual({});
|
||||
expect(stateFile.jobs["job-1"].updatedAtMs).toBe(legacy.jobs[0].updatedAtMs);
|
||||
expect(stateFile.jobs["job-1"].state.nextRunAtMs).toBe(legacy.jobs[0].createdAtMs + 60_000);
|
||||
});
|
||||
@@ -458,7 +458,7 @@ describe("cron store", () => {
|
||||
const loaded = await loadCronStore(store.storePath);
|
||||
|
||||
expect(loaded.jobs[0]?.updatedAtMs).toBe(payload.jobs[0].createdAtMs);
|
||||
expect(loaded.jobs[0]?.state).toEqual({});
|
||||
expect(loaded.jobs[0]?.state).toStrictEqual({});
|
||||
});
|
||||
|
||||
it("propagates unreadable state sidecar errors", async () => {
|
||||
|
||||
Reference in New Issue
Block a user