added cycle analytics events controller and started integration spec
This commit is contained in:
parent
3cdc9af78e
commit
d472611265
3 changed files with 64 additions and 0 deletions
|
@ -0,0 +1,34 @@
|
|||
class Projects::CycleAnalytics::EventsController < Projects::ApplicationController
|
||||
#before_action :authorize_read_cycle_analytics!
|
||||
|
||||
def issues
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { render json: events.issue_events }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# TODO refactor this
|
||||
def start_date
|
||||
case events_params[:start_date]
|
||||
when '30' then
|
||||
30.days.ago
|
||||
when '90' then
|
||||
90.days.ago
|
||||
else
|
||||
90.days.ago
|
||||
end
|
||||
end
|
||||
|
||||
def events
|
||||
@events ||= Gitlab::CycleAnalytics::Events.new(project: project, from: start_date)
|
||||
end
|
||||
|
||||
def events_params
|
||||
return {} unless params[:events].present?
|
||||
|
||||
{ start_date: params[:events][:start_date] }
|
||||
end
|
||||
end
|
|
@ -153,6 +153,12 @@ resources :namespaces, path: '/', constraints: { id: /[a-zA-Z.0-9_\-]+/ }, only:
|
|||
|
||||
resource :cycle_analytics, only: [:show]
|
||||
|
||||
namespace :cycle_analytics do
|
||||
scope :events, controller: '/projects/cycle_analytics/events' do
|
||||
get :issues
|
||||
end
|
||||
end
|
||||
|
||||
resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do
|
||||
collection do
|
||||
post :cancel_all
|
||||
|
|
24
spec/requests/projects/cycle_analytics_events_spec.rb
Normal file
24
spec/requests/projects/cycle_analytics_events_spec.rb
Normal file
|
@ -0,0 +1,24 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'cycle analytics events' do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project) }
|
||||
|
||||
describe 'GET /:namespace/:project/cycle_analytics/events/issues' do
|
||||
before do
|
||||
project.team << [user, :developer]
|
||||
|
||||
login_as(user)
|
||||
end
|
||||
|
||||
it 'lists the issue events' do
|
||||
get namespace_project_cycle_analytics_issues_path(project.namespace, project, format: :json)
|
||||
|
||||
expect(json_response).to eq ([])
|
||||
end
|
||||
end
|
||||
|
||||
def json_response
|
||||
JSON.parse(response.body)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue