Merge branch 'winh-boards-helper' into 'master'
Move current issue board serialization to core (CE-backport) See merge request gitlab-org/gitlab-ce!30507
This commit is contained in:
commit
53c9885d1e
|
@ -99,7 +99,11 @@ module BoardsHelper
|
|||
recent_project_boards_path(@project) if current_board_parent.is_a?(Project)
|
||||
end
|
||||
|
||||
def serializer
|
||||
CurrentBoardSerializer.new
|
||||
end
|
||||
|
||||
def current_board_json
|
||||
board.to_json
|
||||
serializer.represent(board).as_json
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class CurrentBoardEntity < Grape::Entity
|
||||
expose :id
|
||||
expose :name
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class CurrentBoardSerializer < BaseSerializer
|
||||
entity CurrentBoardEntity
|
||||
end
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "object",
|
||||
"allOf": [
|
||||
{ "$ref": "board.json" },
|
||||
{
|
||||
"required" : [
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"properties": {
|
||||
"id": { "type": "integer" },
|
||||
"name": { "type": "string" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +1,12 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe BoardsHelper do
|
||||
set(:project) { create(:project) }
|
||||
|
||||
describe '#build_issue_link_base' do
|
||||
context 'project board' do
|
||||
it 'returns correct path for project board' do
|
||||
@project = create(:project)
|
||||
@project = project
|
||||
@board = create(:board, project: @project)
|
||||
|
||||
expect(build_issue_link_base).to eq("/#{@project.namespace.path}/#{@project.path}/issues")
|
||||
|
@ -31,7 +33,6 @@ describe BoardsHelper do
|
|||
|
||||
describe '#board_data' do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project) }
|
||||
let(:board) { create(:board, project: project) }
|
||||
|
||||
before do
|
||||
|
@ -46,4 +47,15 @@ describe BoardsHelper do
|
|||
expect(helper.board_data[:lists_endpoint]).to eq(board_lists_path(board))
|
||||
end
|
||||
end
|
||||
|
||||
describe '#current_board_json' do
|
||||
let(:board_json) { helper.current_board_json }
|
||||
|
||||
it 'can serialise with a basic set of attributes' do
|
||||
board = create(:board, project: project)
|
||||
assign(:board, board)
|
||||
|
||||
expect(board_json).to match_schema('current-board')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue