From 1a38b34b946f75ea354ba87a06cfcede6f4f22fd Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Mon, 23 Nov 2020 12:54:29 +0100 Subject: [PATCH 1/2] Improve limit check for repository list and checklist items [SCI-5238] --- app/models/repository_checklist_item.rb | 2 +- app/models/repository_list_item.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/repository_checklist_item.rb b/app/models/repository_checklist_item.rb index 1d8f142f0..06348a6bb 100644 --- a/app/models/repository_checklist_item.rb +++ b/app/models/repository_checklist_item.rb @@ -18,7 +18,7 @@ class RepositoryChecklistItem < ApplicationRecord def validate_per_column_limit if repository_column && - repository_column.repository_checklist_items.count > Constants::REPOSITORY_CHECKLIST_ITEMS_PER_COLUMN + repository_column.repository_checklist_items.size > Constants::REPOSITORY_CHECKLIST_ITEMS_PER_COLUMN errors.add(:base, :per_column_limit) end end diff --git a/app/models/repository_list_item.rb b/app/models/repository_list_item.rb index 94edb408c..26fbb20c6 100644 --- a/app/models/repository_list_item.rb +++ b/app/models/repository_list_item.rb @@ -15,7 +15,7 @@ class RepositoryListItem < ApplicationRecord def validate_per_column_limit if repository_column && - repository_column.repository_list_items.count > Constants::REPOSITORY_LIST_ITEMS_PER_COLUMN + repository_column.repository_list_items.size > Constants::REPOSITORY_LIST_ITEMS_PER_COLUMN errors.add(:base, :per_column_limit) end end From 8ee1580ae47c9cd3307426f771f73930d4f601c4 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Fri, 27 Nov 2020 14:59:17 +0100 Subject: [PATCH 2/2] Fix tests for repository list and checklist items [SCI-5238] --- app/models/repository_checklist_item.rb | 2 +- app/models/repository_list_value.rb | 2 +- spec/factories/repository_checklist_items.rb | 4 ++++ spec/factories/repository_list_items.rb | 4 ++++ spec/models/repository_list_value_spec.rb | 2 +- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/models/repository_checklist_item.rb b/app/models/repository_checklist_item.rb index 06348a6bb..6d374de17 100644 --- a/app/models/repository_checklist_item.rb +++ b/app/models/repository_checklist_item.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class RepositoryChecklistItem < ApplicationRecord - belongs_to :repository_column + belongs_to :repository_column, inverse_of: :repository_checklist_items belongs_to :created_by, foreign_key: 'created_by_id', class_name: 'User', inverse_of: :created_repository_checklist_types belongs_to :last_modified_by, foreign_key: 'last_modified_by_id', class_name: 'User', diff --git a/app/models/repository_list_value.rb b/app/models/repository_list_value.rb index 44392bb32..7914077a9 100644 --- a/app/models/repository_list_value.rb +++ b/app/models/repository_list_value.rb @@ -61,7 +61,7 @@ class RepositoryListValue < ApplicationRecord value.repository_list_item = value.repository_cell .repository_column .repository_list_items - .find(payload) + .find_by(id: payload) value end diff --git a/spec/factories/repository_checklist_items.rb b/spec/factories/repository_checklist_items.rb index 7d0e49659..a3d188afc 100644 --- a/spec/factories/repository_checklist_items.rb +++ b/spec/factories/repository_checklist_items.rb @@ -6,5 +6,9 @@ FactoryBot.define do repository_column { create :repository_column, :checklist_type } created_by { create :user } last_modified_by { created_by } + + after(:create) do |item| + item.repository_column.reload + end end end diff --git a/spec/factories/repository_list_items.rb b/spec/factories/repository_list_items.rb index 22d08ce9f..49a2b15a9 100644 --- a/spec/factories/repository_list_items.rb +++ b/spec/factories/repository_list_items.rb @@ -6,5 +6,9 @@ FactoryBot.define do repository_column { create :repository_column, :list_type } created_by { create :user } last_modified_by { created_by } + + after(:create) do |item| + item.repository_column.reload + end end end diff --git a/spec/models/repository_list_value_spec.rb b/spec/models/repository_list_value_spec.rb index 0ed5ccbea..3bf14954b 100644 --- a/spec/models/repository_list_value_spec.rb +++ b/spec/models/repository_list_value_spec.rb @@ -89,8 +89,8 @@ RSpec.describe RepositoryListValue, type: :model do describe 'self.new_with_payload' do let(:user) { create :user } let(:column) { create :repository_column } - let(:cell) { build :repository_cell, repository_column: column } let(:list_item) { create :repository_list_item, repository_column: column } + let(:cell) { build :repository_cell, repository_column: column } let(:attributes) do { repository_cell: cell,