62b7cdaf1e3aeb2202d1cf765a48b0c973387b8c
- Test 1: getPresignedUrl generates URL with correct contentType and avatars/-scoped key - Test 2: getPresignedUrl rejects non-owner with FORBIDDEN (T-4-01) - Test 3: getPresignedUrl rejects image/gif (Zod enum validation, T-4-02) - Test 4: getPresignedUrl rejects 11MB file (T-4-06 fileSize limit) - Test 5: confirmUpload writes avatarKey to DB with correct update call - Test 6: confirmUpload rejects path traversal key (T-4-05) - Bonus: confirmUpload rejects non-owner with FORBIDDEN (T-4-01) - Mock getPresignedUploadUrl via vi.mock — no real R2 calls
Languages
TypeScript
98.6%
Shell
0.5%
CSS
0.4%
HTML
0.2%
JavaScript
0.2%
Other
0.1%