test(ci): stop e2e seeds from being due for a sync

オープン
#408 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
70/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
nextjs, playwright, typescript
領域
testing-qa

調査の方向性

Start from e2e/fixtures/db.ts and the existing month-out pattern in public-pages.ts:24, share.ts:70 and stale.ts:58; add one shared helper there and point realtime.spec.ts's notDueForAMonth at it. Grep the listed spec and fixture files for active-connection seeds lacking next_sync_at, leaving simulated-providers and simulated-sentry due on purpose. Run each changed spec through the guarded runner with npm run jobs:tick -- --watch live; done is no "sync failed" events in the test workspaces.

索引モデルが issue の本文から書いたものです。

説明

area: ci bug priority: P2 size: S

Context

A connection seeded with status: "active" and no next_sync_at is due for a sync. Locally, any job tick run against the same database syncs it mid-test: npm run jobs:tick, its watcher, or a spec in the instance-wide project. The tick writes "sync failed" events and failure counters into the test's workspace. That broke a run of the provider chip test on PR #405: it counted 3 Example provider events where it expected 2, and the page showed "Example provider sync failed for Fake live connection". Found in the round 1 review of #405 (comment 4562387871). #405 fixes its own seeds and seedConnection in e2e/realtime.spec.ts (notDueForAMonth()). The other specs still seed due connections.

playwright.config.ts already keeps tick-running specs in the instance-wide project, so CI is not affected. Local runs are, because they share the database with a running watcher or cron.

Plan

Give every e2e seed of an active connection a next_sync_at a month out, as e2e/fixtures/public-pages.ts:24, e2e/fixtures/share.ts:70, and e2e/fixtures/stale.ts:58 already do. Ideally do it through one shared helper in e2e/fixtures/db.ts, and switch realtime.spec.ts's notDueForAMonth to it.

Files with seeds and no next_sync_at (from grep -c at 60d01fc, plus realtime.spec.ts, which the count missed because other seeds in it set the field): realtime (the connections test of the header live indicator, which inserts four connections, two of them active, with no next_sync_at), account, alert-rules, anomaly-detection, command-palette, connections, dashboard, digitalocean, headline, projection, real-connection-while-simulating, sample-data, timeline, and trends. A seed that a spec syncs on purpose (simulated-providers, simulated-sentry) keeps its due time.

Acceptance criteria

  • No e2e seed of an active connection is due for a sync, unless the spec runs a tick on purpose.
  • One helper holds the "not due" time.
  • Playwright: every changed spec passes through the guarded runner.

Files and areas

e2e/ only. Non-goals: application code, and the instance-wide project split.

Verification

Run every changed spec through the guarded runner while npm run jobs:tick -- --watch is running against the same stack. Expected: no "sync failed" events in the test workspaces.


Branch: <issue-number>-e2e-seeds-not-due
Closes with a Closes #<issue-number> footer on the pull request.

Model: anthropic/claude-opus-5-5 | Reasoning effort: not exposed by harness

主要言語
TypeScript
スター
1
フォーク
1
平均マージ
6時間 56分
マージ済み PR(30日)
136

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

eddiejaoude/StackDash のほかの issue

eddiejaoude/StackDash の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。