← Back to Stage 4
Stage 4#411Coding · Senior~10 min read

Test operation merge logic exhaustively

Testing + Tooling Drills · Unit + Integration Tests

Cover local-only pending, backend-only records, duplicate tx hashes, stale entries, and final reconciliation.

Prompt

Test operation merge logic exhaustively

This is a hands-on rep. Attempt the drill before reading the model answer, then narrate the tradeoffs as if an interviewer is watching.

💡
Tip

This is a better interview signal than shallow component snapshots.

Foundation

What to ground before answering

Cover local-only pending, backend-only records, duplicate tx hashes, stale entries, and final reconciliation.

Focus vocabulary: Vitest, merge logic, edge cases.

The useful mental model is not to memorize a perfect answer. It is to explain what owns the data, what can fail, what the user sees, and what test would prove the behavior.

Coding drill

Choose high-value merge test cases

Target: 15mNot run

Make the behavior executable before comparing against the model answer.

type MergeRisk = 'local-only' | 'backend-only' | 'duplicate-tx' | 'stale-local' | 'reconciled';

function mergeTestCaseNames(risks: MergeRisk[]): string[] {
  // TODO: return stable, human-readable test names for each merge risk.
  return [];
}
TypeScript · runnable
System design

Interview explanation prompt

  • What problem is this practice item really testing?
  • What state or contract boundary must be explicit?
  • What edge case would cause a production regression?
  • What would you test first?
  • How would you explain the tradeoff in two minutes?
Self-grade

Self-grade

  • Strong answer handles the edge cases before polishing syntax.
  • Strong answer explains why the chosen type or function boundary prevents bugs.
  • Weak answer passes only the happy path or hides uncertainty in booleans and nullable fields.

Model Answer

function mergeTestCaseNames(risks: MergeRisk[]): string[] {
  const names: Record<MergeRisk, string> = {
    'local-only': 'keeps local pending operation visible',
    'backend-only': 'shows backend transfer without local record',
    'duplicate-tx': 'deduplicates local and backend records by tx hash',
    'stale-local': 'expires stale local pending operation',
    reconciled: 'clears local pending after reconciliation',
  };
  return risks.map((risk) => names[risk]);
}
Review

Recall before moving on

  • What is the one-sentence answer for "Test operation merge logic exhaustively"?
  • Which real experience from PR TIMES, React/TypeScript migration, or systems work supports it?
  • What edge case would you volunteer before the interviewer asks?
  • What is the smallest test or artifact that proves the design works?