From 6cb655166f1883c2f2010375302165cc5bec42dd Mon Sep 17 00:00:00 2001 From: Gabe Farrell Date: Tue, 18 Nov 2025 18:59:17 -0500 Subject: [PATCH] test: add integration test --- engine/long_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/engine/long_test.go b/engine/long_test.go index a947a79..5b19614 100644 --- a/engine/long_test.go +++ b/engine/long_test.go @@ -11,6 +11,7 @@ import ( "net/url" "os" "path" + "strconv" "strings" "sync" "testing" @@ -890,3 +891,29 @@ func TestSetPrimaryArtist(t *testing.T) { require.NoError(t, err) assert.EqualValues(t, 1, count, "expected only one primary artist for track") } + +func TestManualListen(t *testing.T) { + + t.Run("Submit Listens", doSubmitListens) + + ctx := context.Background() + + // happy + formdata := url.Values{} + formdata.Set("track_id", "1") + formdata.Set("unix", strconv.FormatInt(time.Now().Unix()-60, 10)) + body := formdata.Encode() + resp, err := makeAuthRequest(t, session, "POST", "/apis/web/v1/listen", strings.NewReader(body)) + require.NoError(t, err) + assert.Equal(t, http.StatusCreated, resp.StatusCode) + count, _ := store.Count(ctx, `SELECT COUNT(*) FROM listens WHERE track_id = $1`, 1) + assert.Equal(t, 2, count) + + // 400 + formdata.Set("track_id", "1") + formdata.Set("unix", strconv.FormatInt(time.Now().Unix()+60, 10)) + body = formdata.Encode() + resp, err = makeAuthRequest(t, session, "POST", "/apis/web/v1/listen", strings.NewReader(body)) + require.NoError(t, err) + assert.Equal(t, http.StatusBadRequest, resp.StatusCode) +}