mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-04-28 18:38:24 -05:00
test: add failing test for bulk label API token route registration
This commit is contained in:
56
pkg/models/api_routes_test.go
Normal file
56
pkg/models/api_routes_test.go
Normal file
@@ -0,0 +1,56 @@
|
||||
// Vikunja is a to-do list application to facilitate your life.
|
||||
// Copyright 2018-present Vikunja and contributors. All rights reserved.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
package models
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/labstack/echo/v5"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCanDoAPIRoute_BulkLabelTask(t *testing.T) {
|
||||
// Reset apiTokenRoutes to isolate this test
|
||||
apiTokenRoutes = make(map[string]APITokenRoute)
|
||||
|
||||
// Register the standard CRUD routes for tasks_labels first
|
||||
CollectRoutesForAPITokenUsage(echo.RouteInfo{
|
||||
Method: "PUT",
|
||||
Path: "/api/v1/tasks/:projecttask/labels",
|
||||
}, true)
|
||||
CollectRoutesForAPITokenUsage(echo.RouteInfo{
|
||||
Method: "DELETE",
|
||||
Path: "/api/v1/tasks/:projecttask/labels/:label",
|
||||
}, true)
|
||||
|
||||
// Now register the bulk route
|
||||
CollectRoutesForAPITokenUsage(echo.RouteInfo{
|
||||
Method: "POST",
|
||||
Path: "/api/v1/tasks/:projecttask/labels/bulk",
|
||||
}, true)
|
||||
|
||||
// Verify that the tasks_labels route group exists
|
||||
routes, has := apiTokenRoutes["tasks_labels"]
|
||||
require.True(t, has, "tasks_labels route group should exist")
|
||||
|
||||
// The bulk route should be registered as "update_bulk" under tasks_labels
|
||||
bulkRoute, has := routes["update_bulk"]
|
||||
require.True(t, has, "update_bulk should exist in tasks_labels routes")
|
||||
assert.Equal(t, "/api/v1/tasks/:projecttask/labels/bulk", bulkRoute.Path)
|
||||
assert.Equal(t, "POST", bulkRoute.Method)
|
||||
}
|
||||
Reference in New Issue
Block a user