diff options
| author | mo khan <mo@mokhan.ca> | 2025-04-22 11:34:14 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-04-22 11:34:14 -0600 |
| commit | c11693668f7e230a21f806664b411a598bee9b10 (patch) | |
| tree | 0fecffe3b5b7a98b2134cc86402370a777fdcd4c /app/controllers/sparkles/controller_test.go | |
| parent | 699ef9cc2a910774d1f210ef0562496d08f04e03 (diff) | |
feat: add tiny vue.js app to list and add new sparkles
Diffstat (limited to 'app/controllers/sparkles/controller_test.go')
| -rw-r--r-- | app/controllers/sparkles/controller_test.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/app/controllers/sparkles/controller_test.go b/app/controllers/sparkles/controller_test.go index 99fdd69..4eadd2c 100644 --- a/app/controllers/sparkles/controller_test.go +++ b/app/controllers/sparkles/controller_test.go @@ -48,7 +48,7 @@ func TestSparkles(t *testing.T) { controller := New(repository) controller.MountTo(mux) - sparkle, _ := domain.NewSparkle("@tanuki for reviewing my MR!") + sparkle, _ := domain.NewSparkle("@tanuki for reviewing my code!") request, response := test.RequestResponse( "POST", "/sparkles", @@ -59,7 +59,23 @@ func TestSparkles(t *testing.T) { mux.ServeHTTP(response, request) require.Equal(t, http.StatusCreated, response.Code) - assert.Equal(t, 1, len(repository.All())) + + t.Run("returns a JSON representation of the sparkle", func(t *testing.T) { + item, err := serde.FromJSON[*domain.Sparkle](response.Body) + require.NoError(t, err) + + assert.NotEmpty(t, item.ID) + assert.Equal(t, "@tanuki", item.Sparklee) + assert.Equal(t, "for reviewing my code!", item.Reason) + }) + + t.Run("saves the sparkle to the db", func(t *testing.T) { + assert.Equal(t, 1, len(repository.All())) + item := repository.All()[0] + + assert.Equal(t, "@tanuki", item.Sparklee) + assert.Equal(t, "for reviewing my code!", item.Reason) + }) }) }) } |
