/**
 * tests/fixtures/pending-op.js
 *
 * PendingOp fixtures — frozen. Includes: valid, timeoutId null, expired issuedAt.
 */

export const PENDING_OP_FIXTURES = Object.freeze({
  valid: Object.freeze({
    opId: "op-001",
    userId: "user-abc",
    targetState: "hidden",
    previousState: "active",
    issuedAt: 1700000000000,
    timeoutId: 42,
  }),

  // timeoutId: null — timeout not yet set
  timeoutNull: Object.freeze({
    opId: "op-002",
    userId: "user-abc",
    targetState: "active",
    previousState: "hidden",
    issuedAt: 1700000000000,
    timeoutId: null,
  }),

  // expired issuedAt — very old timestamp (still valid per contract; age check is VisibilityManager's job)
  expiredIssuedAt: Object.freeze({
    opId: "op-003",
    userId: "user-xyz",
    targetState: "hidden",
    previousState: "active",
    issuedAt: 0,
    timeoutId: null,
  }),

  // Invalid: empty opId
  emptyOpId: Object.freeze({
    opId: "",
    userId: "user-abc",
    targetState: "hidden",
    previousState: "active",
    issuedAt: 1700000000000,
    timeoutId: null,
  }),
});
