test(releases): assert asset upload field renders in release form
57a5500
Browse files
R
rin
·
2026-10-16 17:33 UTC
1 file changed
+15
-0
internal/web/handlers/release_assets_test.go
+15
-0
| ... | ... | @@ -49,6 +49,21 @@ func TestReleaseAssetsUploadDownloadDelete(t *testing.T) { |
| 49 | 49 | t.Fatalf("seed commit: %v", err) |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | + // The release form must offer the multipart asset picker. | |
| 53 | + formReq := httptest.NewRequest(http.MethodGet, "/alice/engine/releases/new", nil) | |
| 54 | + formReq.AddCookie(&http.Cookie{Name: middleware.SessionCookieName, Value: sess.ID}) | |
| 55 | + formResp, err := app.Test(formReq, 5000) | |
| 56 | + if err != nil { | |
| 57 | + t.Fatalf("GET release form: %v", err) | |
| 58 | + } | |
| 59 | + formBody, _ := io.ReadAll(formResp.Body) | |
| 60 | + formResp.Body.Close() | |
| 61 | + if formResp.StatusCode != http.StatusOK || | |
| 62 | + !strings.Contains(string(formBody), "multipart/form-data") || | |
| 63 | + !strings.Contains(string(formBody), `name="assets"`) { | |
| 64 | + t.Fatalf("release form missing asset upload field (status %d)", formResp.StatusCode) | |
| 65 | + } | |
| 66 | + | |
| 52 | 67 | // 1. Create a release with two uploaded assets (multipart form). |
| 53 | 68 | var buf bytes.Buffer |
| 54 | 69 | w := multipart.NewWriter(&buf) |