From bb7bc7c7166186fd249f29255f18325322424382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Fri, 1 May 2026 16:49:46 +0400 Subject: [PATCH] Add e2e tests for cookie pattern excluded field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test that excluded defaults to false on create, can be set to true via update, and can be toggled back to false. Signed-off-by: Émile Ré --- e2e/console/cookie_pattern_test.go | 135 +++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/e2e/console/cookie_pattern_test.go b/e2e/console/cookie_pattern_test.go index 2ccbdd332..b518d0dd8 100644 --- a/e2e/console/cookie_pattern_test.go +++ b/e2e/console/cookie_pattern_test.go @@ -286,6 +286,141 @@ func TestCookiePattern_Update(t *testing.T) { }) } +func TestCookiePattern_Excluded(t *testing.T) { + t.Parallel() + + t.Run("defaults to false on create", func(t *testing.T) { + t.Parallel() + owner := testutil.NewClient(t, testutil.RoleOwner) + + bannerID := factory.CreateCookieBanner(owner) + categoryID := factory.CreateCookieCategory(owner, bannerID) + + const query = ` + mutation CreateCookiePattern($input: CreateCookiePatternInput!) { + createCookiePattern(input: $input) { + cookiePatternEdge { + node { + id + excluded + } + } + } + } + ` + + var result struct { + CreateCookiePattern struct { + CookiePatternEdge struct { + Node struct { + ID string `json:"id"` + Excluded bool `json:"excluded"` + } `json:"node"` + } `json:"cookiePatternEdge"` + } `json:"createCookiePattern"` + } + + err := owner.Execute(query, map[string]any{ + "input": map[string]any{ + "cookieCategoryId": categoryID, + "pattern": "test_excluded_default", + "matchType": "EXACT", + "displayName": "Test Excluded Default", + "description": "Should default to not excluded", + }, + }, &result) + + require.NoError(t, err) + assert.False(t, result.CreateCookiePattern.CookiePatternEdge.Node.Excluded) + }) + + t.Run("can be set to true via update", func(t *testing.T) { + t.Parallel() + owner := testutil.NewClient(t, testutil.RoleOwner) + + bannerID := factory.CreateCookieBanner(owner) + categoryID := factory.CreateCookieCategory(owner, bannerID) + patternID := factory.CreateCookiePattern(owner, categoryID) + + const query = ` + mutation UpdateCookiePattern($input: UpdateCookiePatternInput!) { + updateCookiePattern(input: $input) { + cookiePattern { + id + excluded + } + } + } + ` + + var result struct { + UpdateCookiePattern struct { + CookiePattern struct { + ID string `json:"id"` + Excluded bool `json:"excluded"` + } `json:"cookiePattern"` + } `json:"updateCookiePattern"` + } + + err := owner.Execute(query, map[string]any{ + "input": map[string]any{ + "cookiePatternId": patternID, + "excluded": true, + }, + }, &result) + + require.NoError(t, err) + assert.True(t, result.UpdateCookiePattern.CookiePattern.Excluded) + }) + + t.Run("can be toggled back to false", func(t *testing.T) { + t.Parallel() + owner := testutil.NewClient(t, testutil.RoleOwner) + + bannerID := factory.CreateCookieBanner(owner) + categoryID := factory.CreateCookieCategory(owner, bannerID) + patternID := factory.CreateCookiePattern(owner, categoryID) + + const updateQuery = ` + mutation UpdateCookiePattern($input: UpdateCookiePatternInput!) { + updateCookiePattern(input: $input) { + cookiePattern { + id + excluded + } + } + } + ` + + var result struct { + UpdateCookiePattern struct { + CookiePattern struct { + ID string `json:"id"` + Excluded bool `json:"excluded"` + } `json:"cookiePattern"` + } `json:"updateCookiePattern"` + } + + err := owner.Execute(updateQuery, map[string]any{ + "input": map[string]any{ + "cookiePatternId": patternID, + "excluded": true, + }, + }, &result) + require.NoError(t, err) + assert.True(t, result.UpdateCookiePattern.CookiePattern.Excluded) + + err = owner.Execute(updateQuery, map[string]any{ + "input": map[string]any{ + "cookiePatternId": patternID, + "excluded": false, + }, + }, &result) + require.NoError(t, err) + assert.False(t, result.UpdateCookiePattern.CookiePattern.Excluded) + }) +} + func TestCookiePattern_Delete(t *testing.T) { t.Parallel()