Skip to content

Commit 2dd639a

Browse files
committed
Address PR feedback #1-#5: Improve UI consistency and visual hierarchy
- #1 Movie Cards: Make entire card clickable, enforce consistent heights, tone down checkbox - #2 Top Toolbar: Remove batch buttons, add contextual bottom selection bar - #3 Filters Bar: Replace mint/green with neutral gray borders and backgrounds - #4 Navbar: Remove full-width green border and animated underline effect - #5 Aggregations: Use light gray for row hover, tone down comment pills and show more button - Additional: Remove bright green border from aggregations section headers All changes improve visual hierarchy and reduce competing visual elements per reviewer feedback on PR #75.
1 parent 2d80839 commit 2dd639a

25 files changed

Lines changed: 5073 additions & 110 deletions

Run Express Tests/0_Run Express Tests.txt

Lines changed: 2419 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
2026-01-30T15:28:43.3388355Z ##[group]Run npm run test:unit -- --json --outputFile=test-results-unit.json || true
2+
2026-01-30T15:28:43.3388958Z npm run test:unit -- --json --outputFile=test-results-unit.json || true
3+
2026-01-30T15:28:43.3421470Z shell: /usr/bin/bash -e {0}
4+
2026-01-30T15:28:43.3421709Z env:
5+
2026-01-30T15:28:43.3422023Z MONGODB_URI: mongodb://localhost:27017/sample_mflix?directConnection=true
6+
2026-01-30T15:28:43.3422566Z ##[endgroup]
7+
2026-01-30T15:28:43.4503823Z
8+
2026-01-30T15:28:43.4504518Z > sample-mflix-express-backend@1.0.0 test:unit
9+
2026-01-30T15:28:43.4505456Z > jest tests/controllers --json --outputFile=test-results-unit.json
10+
2026-01-30T15:28:43.4506000Z
11+
2026-01-30T15:28:46.3899393Z PASS tests/controllers/movieController.test.ts
12+
2026-01-30T15:28:46.3904375Z Movie Controller Tests
13+
2026-01-30T15:28:46.3904778Z getAllMovies
14+
2026-01-30T15:28:46.3907666Z ✓ should successfully retrieve movies (3 ms)
15+
2026-01-30T15:28:46.3908387Z ✓ should handle empty results (1 ms)
16+
2026-01-30T15:28:46.3909090Z ✓ should handle database errors (20 ms)
17+
2026-01-30T15:28:46.3909795Z ✓ should handle query parameters for filtering (1 ms)
18+
2026-01-30T15:28:46.3910313Z getMovieById
19+
2026-01-30T15:28:46.3910949Z ✓ should successfully retrieve a movie by valid ID (1 ms)
20+
2026-01-30T15:28:46.3911762Z ✓ should return 400 for invalid ObjectId format (1 ms)
21+
2026-01-30T15:28:46.3912668Z ✓ should return 404 when movie not found (1 ms)
22+
2026-01-30T15:28:46.3913371Z ✓ should handle database errors (1 ms)
23+
2026-01-30T15:28:46.3913838Z createMovie
24+
2026-01-30T15:28:46.3914344Z ✓ should successfully create a movie (1 ms)
25+
2026-01-30T15:28:46.3914969Z ✓ should handle validation errors
26+
2026-01-30T15:28:46.3915684Z ✓ should handle insert acknowledgment failure (14 ms)
27+
2026-01-30T15:28:46.3916207Z createMoviesBatch
28+
2026-01-30T15:28:46.3916796Z ✓ should successfully create multiple movies (1 ms)
29+
2026-01-30T15:28:46.3917585Z ✓ should return 400 for invalid input (not an array) (1 ms)
30+
2026-01-30T15:28:46.3918281Z ✓ should return 400 for empty array
31+
2026-01-30T15:28:46.3918766Z updateMovie
32+
2026-01-30T15:28:46.3919271Z ✓ should successfully update a movie (2 ms)
33+
2026-01-30T15:28:46.3919954Z ✓ should return 400 for invalid ObjectId (1 ms)
34+
2026-01-30T15:28:46.3920598Z ✓ should return 400 for empty update data
35+
2026-01-30T15:28:46.3921208Z ✓ should return 404 when movie not found
36+
2026-01-30T15:28:46.3921660Z deleteMovie
37+
2026-01-30T15:28:46.3922148Z ✓ should successfully delete a movie (1 ms)
38+
2026-01-30T15:28:46.3922938Z ✓ should return 400 for invalid ObjectId
39+
2026-01-30T15:28:46.3923542Z ✓ should return 404 when movie not found
40+
2026-01-30T15:28:46.3924137Z ✓ should handle database errors (1 ms)
41+
2026-01-30T15:28:46.3924585Z updateMoviesBatch
42+
2026-01-30T15:28:46.3925121Z ✓ should successfully update multiple movies
43+
2026-01-30T15:28:46.3925810Z ✓ should return 400 when filter is missing (1 ms)
44+
2026-01-30T15:28:46.3926460Z ✓ should return 400 when update is empty
45+
2026-01-30T15:28:46.3926914Z deleteMoviesBatch
46+
2026-01-30T15:28:46.3927472Z ✓ should successfully delete multiple movies (1 ms)
47+
2026-01-30T15:28:46.3928576Z ✓ should return 400 when filter is missing
48+
2026-01-30T15:28:46.3929238Z ✓ should return 400 when filter is empty (1 ms)
49+
2026-01-30T15:28:46.3929736Z findAndDeleteMovie
50+
2026-01-30T15:28:46.3930314Z ✓ should successfully find and delete a movie
51+
2026-01-30T15:28:46.3931004Z ✓ should return 400 for invalid ObjectId (1 ms)
52+
2026-01-30T15:28:46.3931673Z ✓ should return 404 when movie not found
53+
2026-01-30T15:28:46.3932442Z ✓ should handle database errors (1 ms)
54+
2026-01-30T15:28:46.3932913Z searchMovies
55+
2026-01-30T15:28:46.3933294Z ✓ should successfully search movies by plot (1 ms)
56+
2026-01-30T15:28:46.3933721Z ✓ should handle search with multiple fields
57+
2026-01-30T15:28:46.3934165Z ✓ should return 400 when no search parameters provided
58+
2026-01-30T15:28:46.3934899Z ✓ should return 400 for invalid search operator
59+
2026-01-30T15:28:46.3935287Z ✓ should handle pagination parameters
60+
2026-01-30T15:28:46.3935694Z ✓ should return empty results when no matches found
61+
2026-01-30T15:28:46.3936000Z vectorSearchMovies
62+
2026-01-30T15:28:46.3936340Z ✓ should successfully perform vector search (2 ms)
63+
2026-01-30T15:28:46.3936739Z ✓ should return 400 when query is missing (1 ms)
64+
2026-01-30T15:28:46.3937137Z ✓ should return 400 when query is empty
65+
2026-01-30T15:28:46.3937571Z ✓ should return 400 when VOYAGE_API_KEY is not configured (1 ms)
66+
2026-01-30T15:28:46.3938111Z ✓ should handle Voyage AI authentication errors with 401 status (1 ms)
67+
2026-01-30T15:28:46.3938628Z ✓ should handle other Voyage AI API errors with 503 status
68+
2026-01-30T15:28:46.3939065Z ✓ should use default limit when not provided (1 ms)
69+
2026-01-30T15:28:46.3939420Z getMoviesWithMostRecentComments
70+
2026-01-30T15:28:46.3939829Z ✓ should successfully get movies with comments (1 ms)
71+
2026-01-30T15:28:46.3940257Z ✓ should filter by specific movieId when provided
72+
2026-01-30T15:28:46.3940665Z ✓ should return 400 for invalid movieId format
73+
2026-01-30T15:28:46.3941013Z ✓ should handle empty results
74+
2026-01-30T15:28:46.3941377Z ✓ should use default limit when not provided (1 ms)
75+
2026-01-30T15:28:46.3941687Z getMoviesByYearWithStats
76+
2026-01-30T15:28:46.3942419Z ✓ should successfully get movies statistics by year
77+
2026-01-30T15:28:46.3942957Z ✓ should handle empty results (1 ms)
78+
2026-01-30T15:28:46.3943311Z ✓ should handle database errors (1 ms)
79+
2026-01-30T15:28:46.3943608Z getDirectorsWithMostMovies
80+
2026-01-30T15:28:46.3943949Z ✓ should successfully get directors statistics
81+
2026-01-30T15:28:46.3944314Z ✓ should handle custom limit parameter
82+
2026-01-30T15:28:46.3944674Z ✓ should use default limit when not provided
83+
2026-01-30T15:28:46.3945011Z ✓ should handle empty results
84+
2026-01-30T15:28:46.3945345Z ✓ should handle database errors (4 ms)
85+
2026-01-30T15:28:46.3945521Z
86+
2026-01-30T15:28:46.3953954Z Test Suites: 1 passed, 1 total
87+
2026-01-30T15:28:46.3954983Z Tests: 58 passed, 58 total
88+
2026-01-30T15:28:46.3955468Z Snapshots: 0 total
89+
2026-01-30T15:28:46.3955828Z Time: 2.529 s
90+
2026-01-30T15:28:46.3956324Z Ran all test suites matching /tests\/controllers/i.
91+
2026-01-30T15:28:46.3972456Z Test results written to: test-results-unit.json

0 commit comments

Comments
 (0)