Add a JSON cards endpoint for workflow columns (#2800)
* Add JSON endpoint for cards in workflow columns * Add cards URL to column JSON responses * Add coverage for column cards authorization
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
require "test_helper"
|
||||
|
||||
class Boards::Columns::CardsControllerTest < ActionDispatch::IntegrationTest
|
||||
setup do
|
||||
sign_in_as :kevin
|
||||
end
|
||||
|
||||
test "index as JSON" do
|
||||
column = columns(:writebook_in_progress)
|
||||
|
||||
get board_column_cards_path(column.board, column), as: :json
|
||||
|
||||
assert_response :success
|
||||
assert_kind_of Array, @response.parsed_body
|
||||
assert_equal [ cards(:text).number ], @response.parsed_body.pluck("number")
|
||||
assert_equal "1", response.headers["X-Total-Count"]
|
||||
end
|
||||
|
||||
test "cannot access cards on board without access as JSON" do
|
||||
board = boards(:private)
|
||||
column = board.columns.create!(name: "Secret")
|
||||
|
||||
logout_and_sign_in_as :jason
|
||||
|
||||
get board_column_cards_path(board, column), as: :json
|
||||
|
||||
assert_response :not_found
|
||||
end
|
||||
end
|
||||
@@ -55,6 +55,7 @@ class Boards::ColumnsControllerTest < ActionDispatch::IntegrationTest
|
||||
|
||||
assert_response :success
|
||||
assert_equal board.columns.count, @response.parsed_body.count
|
||||
assert_equal board_column_cards_url(board, board.columns.sorted.first), @response.parsed_body.first["cards_url"]
|
||||
end
|
||||
|
||||
test "show as JSON" do
|
||||
@@ -64,6 +65,7 @@ class Boards::ColumnsControllerTest < ActionDispatch::IntegrationTest
|
||||
|
||||
assert_response :success
|
||||
assert_equal column.id, @response.parsed_body["id"]
|
||||
assert_equal board_column_cards_url(column.board, column), @response.parsed_body["cards_url"]
|
||||
end
|
||||
|
||||
test "create as JSON" do
|
||||
@@ -76,6 +78,7 @@ class Boards::ColumnsControllerTest < ActionDispatch::IntegrationTest
|
||||
assert_response :created
|
||||
assert_equal board_column_path(board, Column.last, format: :json), @response.headers["Location"]
|
||||
assert_equal "New Column", @response.parsed_body["name"]
|
||||
assert_equal board_column_cards_url(board, Column.last), @response.parsed_body["cards_url"]
|
||||
end
|
||||
|
||||
test "update as JSON" do
|
||||
|
||||
Reference in New Issue
Block a user