mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2026-01-07 00:36:08 +08:00
Repository columns actions loggin
This commit is contained in:
parent
32422c00eb
commit
cfe2888bea
4 changed files with 93 additions and 4 deletions
|
|
@ -36,6 +36,8 @@ class RepositoryColumnsController < ApplicationController
|
|||
respond_to do |format|
|
||||
format.json do
|
||||
if @repository_column.save
|
||||
log_activity(:create_column_inventory)
|
||||
|
||||
if generate_repository_list_items(params[:list_items])
|
||||
render json: {
|
||||
id: @repository_column.id,
|
||||
|
|
@ -87,6 +89,8 @@ class RepositoryColumnsController < ApplicationController
|
|||
format.json do
|
||||
@repository_column.update_attributes(repository_column_params)
|
||||
if @repository_column.save
|
||||
log_activity(:edit_column_inventory)
|
||||
|
||||
if update_repository_list_items(params[:list_items])
|
||||
render json: {
|
||||
id: @repository_column.id,
|
||||
|
|
@ -126,6 +130,8 @@ class RepositoryColumnsController < ApplicationController
|
|||
def destroy
|
||||
column_id = @repository_column.id
|
||||
column_name = @repository_column.name
|
||||
|
||||
log_activity(:delete_column_inventory) # Should we move this call somewhere?
|
||||
respond_to do |format|
|
||||
format.json do
|
||||
if @repository_column.destroy
|
||||
|
|
@ -273,4 +279,16 @@ class RepositoryColumnsController < ApplicationController
|
|||
end
|
||||
success
|
||||
end
|
||||
|
||||
def log_activity(type_of)
|
||||
Activities::CreateActivityService
|
||||
.call(activity_type: type_of,
|
||||
owner: current_user,
|
||||
subject: @repository,
|
||||
team: current_team,
|
||||
message_items: {
|
||||
repository_column: @repository_column.id,
|
||||
repository: @repository.id
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
|
|||
69
spec/controllers/repository_columns_controller_sepc.rb
Normal file
69
spec/controllers/repository_columns_controller_sepc.rb
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe RepositoryColumnsController, type: :controller do
|
||||
login_user
|
||||
|
||||
let(:user) { subject.current_user }
|
||||
let(:team) { create :team, created_by: user }
|
||||
let!(:user_team) { create :user_team, :admin, user: user, team: team }
|
||||
let(:repository) { create :repository, created_by: user, team: team }
|
||||
let(:repository_column) do
|
||||
create :repository_column, created_by: user, repository: repository
|
||||
end
|
||||
|
||||
describe 'POST create' do
|
||||
let(:params) do
|
||||
{
|
||||
repository_id: repository.id,
|
||||
repository_column: {
|
||||
name: 'repository_column',
|
||||
data_type: 'RepositoryTextValue'
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
it 'calls create activity for creating inventory column' do
|
||||
expect(Activities::CreateActivityService)
|
||||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :create_column_inventory)))
|
||||
|
||||
post :create, params: params, format: :json
|
||||
end
|
||||
end
|
||||
|
||||
describe 'PUT update' do
|
||||
let(:params) do
|
||||
{
|
||||
id: repository_column.id,
|
||||
repository_id: repository.id,
|
||||
repository_column: {
|
||||
name: 'new_repository_column'
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
it 'calls create activity for editing intentory column' do
|
||||
expect(Activities::CreateActivityService)
|
||||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :edit_column_inventory)))
|
||||
|
||||
post :update, params: params, format: :json
|
||||
end
|
||||
end
|
||||
|
||||
describe 'DELETE destroy' do
|
||||
let(:params) do
|
||||
{ repository_id: repository.id, id: repository_column.id }
|
||||
end
|
||||
|
||||
it 'calls create activity for deleting inventory items' do
|
||||
expect(Activities::CreateActivityService)
|
||||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :delete_column_inventory)))
|
||||
|
||||
delete :destroy, params: params, format: :json
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
FactoryBot.define do
|
||||
factory :repository do
|
||||
sequence(:name) { |n| "My project-#{n}" }
|
||||
sequence(:name) { |n| "My repository-#{n}" }
|
||||
created_by { create :user }
|
||||
team
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
factory :repository_column do
|
||||
name 'My Column'
|
||||
created_by { User.first || create(:user) }
|
||||
repository { Repository.first || create(:repository) }
|
||||
sequence(:name) { |n| "My column-#{n}" }
|
||||
created_by { create :user }
|
||||
repository
|
||||
data_type :RepositoryTextValue
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue