[object Object]

← back to build-pages

smoke: 3 ?since= assertions across /api/search + /api/projects/:slug/commits

035207bc0ee7df6325d96026b51a5931716ddf5e · 2026-05-13 18:38:33 -0700 · SteveStudio2

Files touched

Diff

commit 035207bc0ee7df6325d96026b51a5931716ddf5e
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Wed May 13 18:38:33 2026 -0700

    smoke: 3 ?since= assertions across /api/search + /api/projects/:slug/commits
---
 test/smoke.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/test/smoke.js b/test/smoke.js
index ba3435c..59e339c 100644
--- a/test/smoke.js
+++ b/test/smoke.js
@@ -240,7 +240,7 @@ function check(name, cond, hint = '') {
     check(`facet ${facet}: field`,  new RegExp(`"${facet}":`).test(r.body));
   }
 
-  // 14. cross-project search (round-robin merge + per-project breakdown)
+  // 14. cross-project search (round-robin merge + per-project breakdown + ?since=)
   r = await fetch('/api/search?q=whisper&limit=10');
   check('search: 200',             r.status === 200);
   check('search: results array',   /"results":\[/.test(r.body));
@@ -248,6 +248,12 @@ function check(name, cond, hint = '') {
   check('search: by_project',      /"by_project":\[/.test(r.body));
   r = await fetch('/api/search?q=a');
   check('search: <2 chars → empty',/"results":\[\]/.test(r.body));
+  // ?since= smoke for both endpoints that gained it via parseSince()
+  r = await fetch('/api/search?q=commit&since=7d&limit=5');
+  check('search ?since=7d: 200',   r.status === 200);
+  r = await fetch('/api/projects/butlr/commits?since=7d&limit=5');
+  check('commits ?since=7d: 200',  r.status === 200);
+  check('commits ?since=7d: since field', /"since":"[\d-]+T/.test(r.body));
 
   // Report
   if (process.argv.includes('--json')) {

← 4a5298c refactor: parseSince() helper — apply ?since= filter to /api  ·  back to build-pages  ·  ui: commit-list <li id="hash"> deep-link anchors + :target h 7fbdfa0 →