Skip to content

Commit

Permalink
[api] fix MaintenanceStatistic type for history elements
Browse files Browse the repository at this point in the history
[api] rubocop fixes
  • Loading branch information
evanrolfe committed Jan 26, 2017
1 parent af78534 commit 124e7e1
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 61 deletions.
7 changes: 2 additions & 5 deletions src/api/app/models/maintenance_statistic.rb
Expand Up @@ -18,12 +18,9 @@ def self.create_objects(project, request)
if request
result << MaintenanceStatistic.new(type: :release_request_created, when: request.created_at)

# TODO: This is to reflect also :decline, :reopen etc.
# However, we need to adapt the view src/api/app/views/statistics/maintenance_incidents/show.xml.builder
# because it only reflects :accepted state atm
request.request_history_elements.each do |history_element|
# history_element.type is untested and probably doesn't work -> should result in sth like release_request_accepted
result << MaintenanceStatistic.new(type: "release_request_#{history_element.type}", when: history_element.created_at)
history_element_type = history_element.class.name.demodulize.underscore
result << MaintenanceStatistic.new(type: "release_request_#{history_element_type}", when: history_element.created_at)
end

request.reviews.unassigned.each do |review|
Expand Down
5 changes: 3 additions & 2 deletions src/api/app/models/review.rb
Expand Up @@ -17,7 +17,8 @@ class NotFoundError < APIException
validates :reason, length: { maximum: 65534 }

validate :check_initial, on: [:create]
validate :validate_non_symmetric_assignment # Validate the review is not assigned to a review which is already assigned to this review
# Validate the review is not assigned to a review which is already assigned to this review
validate :validate_non_symmetric_assignment
validate :validate_not_self_assigned

belongs_to :review_assigned_from, class_name: 'Review', foreign_key: :review_id
Expand All @@ -41,7 +42,7 @@ class NotFoundError < APIException
def validate_non_symmetric_assignment
if review_assigned_from && review_assigned_from == review_assigned_to
errors.add(
:review_id,
:review_id,
"assigned to review which is already assigned to this review"
)
end
Expand Down
1 change: 0 additions & 1 deletion src/api/spec/factories/package_issue.rb
@@ -1,5 +1,4 @@
FactoryGirl.define do
factory :package_issue do

end
end
10 changes: 4 additions & 6 deletions src/api/spec/models/maintenance_statistic_spec.rb
Expand Up @@ -21,15 +21,13 @@
expect(maintenance_statistics[2].when).to eq(review.created_at)
end

it 'contains release_request_HistoryElement::RequestAccepted' do
expect(maintenance_statistics[3].type)
.to eq('release_request_HistoryElement::RequestAccepted')
it 'contains release_request_request_accepted' do
expect(maintenance_statistics[3].type).to eq('release_request_request_accepted')
expect(maintenance_statistics[3].when).to eq(history_element_request_accepted.created_at)
end

it 'contains release_request_HistoryElement::RequestCreated' do
expect(maintenance_statistics[4].type)
.to eq('release_request_HistoryElement::RequestCreated')
it 'contains release_request_request_created' do
expect(maintenance_statistics[4].type).to eq('release_request_request_created')
expect(maintenance_statistics[4].when).to eq(history_element_request_created.created_at)
end

Expand Down
2 changes: 1 addition & 1 deletion src/api/spec/models/review_spec.rb
Expand Up @@ -82,7 +82,7 @@

it { is_expected.to eq(nil) }
end

context 'with no reviewed assigned to and state = accepted' do
subject { review.accepted_at }

Expand Down
@@ -1,48 +1,48 @@
RSpec.shared_context 'a project with maintenance statistics' do
let(:user) { create(:confirmed_user) }
let!(:project) do
create(
:project_with_repository,
name: 'ProjectWithRepo',
created_at: 10.days.ago
)
end
let!(:bs_request) do
create(
:bs_request,
source_project: project,
type: 'maintenance_release',
created_at: 9.days.ago
)
end
let!(:history_element_request_created) do
create(
:history_element_request_created,
request: bs_request,
user: user,
created_at: 8.days.ago
)
end
let!(:history_element_request_accepted) do
create(
:history_element_request_accepted,
request: bs_request,
user: user,
created_at: 7.days.ago
)
end
let!(:review) do
create(
:review,
bs_request: bs_request,
by_user: user.login,
created_at: 6.days.ago,
updated_at: 5.days.ago,
state: :accepted
)
end
let(:package) { create(:package_with_file, project: project) }
let!(:issue_tracker) { create(:issue_tracker) }
let!(:issue) { create(:issue, issue_tracker_id: issue_tracker.id, created_at: 4.days.ago) }
let!(:package_issue) { create(:package_issue, package: package, issue: issue) }
let(:user) { create(:confirmed_user) }
let!(:project) do
create(
:project_with_repository,
name: 'ProjectWithRepo',
created_at: 10.days.ago
)
end
let!(:bs_request) do
create(
:bs_request,
source_project: project,
type: 'maintenance_release',
created_at: 9.days.ago
)
end
let!(:history_element_request_created) do
create(
:history_element_request_created,
request: bs_request,
user: user,
created_at: 8.days.ago
)
end
let!(:history_element_request_accepted) do
create(
:history_element_request_accepted,
request: bs_request,
user: user,
created_at: 7.days.ago
)
end
let!(:review) do
create(
:review,
bs_request: bs_request,
by_user: user.login,
created_at: 6.days.ago,
updated_at: 5.days.ago,
state: :accepted
)
end
let(:package) { create(:package_with_file, project: project) }
let!(:issue_tracker) { create(:issue_tracker) }
let!(:issue) { create(:issue, issue_tracker_id: issue_tracker.id, created_at: 4.days.ago) }
let!(:package_issue) { create(:package_issue, package: package, issue: issue) }
end

0 comments on commit 124e7e1

Please sign in to comment.