Commit c8e28190 authored by Kerri Miller's avatar Kerri Miller

Merge branch '223260-add-default-date-range-for-audit_events' into 'master'

Add default date range for audit events

See merge request gitlab-org/gitlab!42986
parents 23997ec0 10b7cc4d
...@@ -5,6 +5,7 @@ class Admin::AuditLogsController < Admin::ApplicationController ...@@ -5,6 +5,7 @@ class Admin::AuditLogsController < Admin::ApplicationController
include AuditEvents::EnforcesValidDateParams include AuditEvents::EnforcesValidDateParams
include AuditEvents::AuditLogsParams include AuditEvents::AuditLogsParams
include AuditEvents::Sortable include AuditEvents::Sortable
include AuditEvents::DateRange
include Analytics::UniqueVisitsHelper include Analytics::UniqueVisitsHelper
before_action :check_license_admin_audit_log_available! before_action :check_license_admin_audit_log_available!
......
# frozen_string_literal: true
module AuditEvents
module DateRange
extend ActiveSupport::Concern
included do
before_action :set_date_range, only: [:index]
end
private
def set_date_range
params[:created_before] = params[:created_before].nil? ? Date.current.end_of_day : Date.parse(params[:created_before]).end_of_day
params[:created_after] = Date.current.beginning_of_month unless params[:created_after]
end
end
end
...@@ -5,6 +5,7 @@ class Groups::AuditEventsController < Groups::ApplicationController ...@@ -5,6 +5,7 @@ class Groups::AuditEventsController < Groups::ApplicationController
include AuditEvents::EnforcesValidDateParams include AuditEvents::EnforcesValidDateParams
include AuditEvents::AuditLogsParams include AuditEvents::AuditLogsParams
include AuditEvents::Sortable include AuditEvents::Sortable
include AuditEvents::DateRange
include Analytics::UniqueVisitsHelper include Analytics::UniqueVisitsHelper
before_action :authorize_admin_group! before_action :authorize_admin_group!
......
...@@ -6,6 +6,7 @@ class Projects::AuditEventsController < Projects::ApplicationController ...@@ -6,6 +6,7 @@ class Projects::AuditEventsController < Projects::ApplicationController
include AuditEvents::EnforcesValidDateParams include AuditEvents::EnforcesValidDateParams
include AuditEvents::AuditLogsParams include AuditEvents::AuditLogsParams
include AuditEvents::Sortable include AuditEvents::Sortable
include AuditEvents::DateRange
before_action :authorize_admin_project! before_action :authorize_admin_project!
before_action :check_audit_events_available! before_action :check_audit_events_available!
......
---
title: Add default date range for audit events
merge_request: 42986
author:
type: changed
...@@ -26,7 +26,7 @@ RSpec.describe Groups::AuditEventsController do ...@@ -26,7 +26,7 @@ RSpec.describe Groups::AuditEventsController do
context 'when audit_events feature is available' do context 'when audit_events feature is available' do
let(:level) { Gitlab::Audit::Levels::Group.new(group: group) } let(:level) { Gitlab::Audit::Levels::Group.new(group: group) }
let(:audit_logs_params) { ActionController::Parameters.new(sort: '', entity_type: '', entity_id: '').permit! } let(:audit_logs_params) { ActionController::Parameters.new(sort: '', entity_type: '', entity_id: '', created_after: Date.current.beginning_of_month, created_before: Date.current.end_of_day).permit! }
before do before do
stub_licensed_features(audit_events: true) stub_licensed_features(audit_events: true)
...@@ -64,7 +64,7 @@ RSpec.describe Groups::AuditEventsController do ...@@ -64,7 +64,7 @@ RSpec.describe Groups::AuditEventsController do
context 'when the author entity type is specified' do context 'when the author entity type is specified' do
let(:entity_type) { 'Author' } let(:entity_type) { 'Author' }
let(:entity_id) { 1 } let(:entity_id) { 1 }
let(:audit_logs_params) { ActionController::Parameters.new(sort: '', author_id: '1').permit! } let(:audit_logs_params) { ActionController::Parameters.new(sort: '', author_id: '1', created_after: Date.current.beginning_of_month, created_before: Date.current.end_of_day).permit! }
it_behaves_like 'AuditLogFinder params' it_behaves_like 'AuditLogFinder params'
end end
......
...@@ -25,7 +25,7 @@ RSpec.describe Projects::AuditEventsController do ...@@ -25,7 +25,7 @@ RSpec.describe Projects::AuditEventsController do
context 'when audit_events feature is available' do context 'when audit_events feature is available' do
let(:level) { Gitlab::Audit::Levels::Project.new(project: project) } let(:level) { Gitlab::Audit::Levels::Project.new(project: project) }
let(:audit_logs_params) { ActionController::Parameters.new(sort: '', entity_type: '', entity_id: '').permit! } let(:audit_logs_params) { ActionController::Parameters.new(sort: '', entity_type: '', entity_id: '', created_after: Date.current.beginning_of_month, created_before: Date.current.end_of_day).permit! }
before do before do
stub_licensed_features(audit_events: true) stub_licensed_features(audit_events: true)
...@@ -63,7 +63,7 @@ RSpec.describe Projects::AuditEventsController do ...@@ -63,7 +63,7 @@ RSpec.describe Projects::AuditEventsController do
context 'when the author entity type is specified' do context 'when the author entity type is specified' do
let(:entity_type) { 'Author' } let(:entity_type) { 'Author' }
let(:entity_id) { 1 } let(:entity_id) { 1 }
let(:audit_logs_params) { ActionController::Parameters.new(sort: '', author_id: '1').permit! } let(:audit_logs_params) { ActionController::Parameters.new(sort: '', author_id: '1', created_after: Date.current.beginning_of_month, created_before: Date.current.end_of_day).permit! }
it_behaves_like 'AuditLogFinder params' it_behaves_like 'AuditLogFinder params'
end end
......
...@@ -105,7 +105,7 @@ RSpec.describe 'Admin::AuditLogs', :js do ...@@ -105,7 +105,7 @@ RSpec.describe 'Admin::AuditLogs', :js do
describe 'filter by date' do describe 'filter by date' do
let_it_be(:audit_event_1) { create(:user_audit_event, created_at: 5.days.ago) } let_it_be(:audit_event_1) { create(:user_audit_event, created_at: 5.days.ago) }
let_it_be(:audit_event_2) { create(:user_audit_event, created_at: 3.days.ago) } let_it_be(:audit_event_2) { create(:user_audit_event, created_at: 3.days.ago) }
let_it_be(:audit_event_3) { create(:user_audit_event, created_at: 1.day.ago) } let_it_be(:audit_event_3) { create(:user_audit_event, created_at: Date.current) }
let_it_be(:events_path) { :admin_audit_logs_path } let_it_be(:events_path) { :admin_audit_logs_path }
let_it_be(:entity) { nil } let_it_be(:entity) { nil }
......
...@@ -69,7 +69,7 @@ RSpec.describe 'Groups > Audit Events', :js do ...@@ -69,7 +69,7 @@ RSpec.describe 'Groups > Audit Events', :js do
describe 'filter by date' do describe 'filter by date' do
let!(:audit_event_1) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: 5.days.ago) } let!(:audit_event_1) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: 5.days.ago) }
let!(:audit_event_2) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: 3.days.ago) } let!(:audit_event_2) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: 3.days.ago) }
let!(:audit_event_3) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: 1.day.ago) } let!(:audit_event_3) { create(:group_audit_event, entity_type: 'Group', entity_id: group.id, created_at: Date.current) }
let!(:events_path) { :group_audit_events_path } let!(:events_path) { :group_audit_events_path }
let!(:entity) { group } let!(:entity) { group }
......
...@@ -166,7 +166,7 @@ RSpec.describe 'Projects > Audit Events', :js do ...@@ -166,7 +166,7 @@ RSpec.describe 'Projects > Audit Events', :js do
describe 'filter by date' do describe 'filter by date' do
let!(:audit_event_1) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: 5.days.ago) } let!(:audit_event_1) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: 5.days.ago) }
let!(:audit_event_2) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: 3.days.ago) } let!(:audit_event_2) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: 3.days.ago) }
let!(:audit_event_3) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: 1.day.ago) } let!(:audit_event_3) { create(:project_audit_event, entity_type: 'Project', entity_id: project.id, created_at: Date.current) }
let!(:events_path) { :project_audit_events_path } let!(:events_path) { :project_audit_events_path }
let!(:entity) { project } let!(:entity) { project }
......
...@@ -11,8 +11,8 @@ RSpec.shared_examples_for 'audit events date filter' do ...@@ -11,8 +11,8 @@ RSpec.shared_examples_for 'audit events date filter' do
expect(page).not_to have_content(audit_event_3.present.date) expect(page).not_to have_content(audit_event_3.present.date)
end end
it 'shows only yesterday events' do it 'shows only today\'s event' do
visit method(events_path).call(entity, created_after: 2.days.ago.to_date) visit method(events_path).call(entity, created_after: 1.day.ago.to_date, created_before: Date.current.to_date)
find('.audit-log-table td', match: :first) find('.audit-log-table td', match: :first)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment