mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-06 11:57:16 +08:00
Fix failing tests
This commit is contained in:
parent
b6a8556601
commit
c65d1af18d
17 changed files with 114 additions and 45 deletions
|
@ -5,7 +5,7 @@ require 'rails_helper'
|
|||
describe ExperimentsController, type: :controller do
|
||||
login_user
|
||||
|
||||
describe '#update' do
|
||||
describe 'PUT update' do
|
||||
let!(:user) { controller.current_user }
|
||||
let!(:team) { create :team, created_by: user, users: [user] }
|
||||
let!(:project) { create :project, team: team }
|
||||
|
@ -13,6 +13,7 @@ describe ExperimentsController, type: :controller do
|
|||
create :user_project, :owner, user: user, project: project
|
||||
end
|
||||
let(:experiment) { create :experiment, project: project }
|
||||
let(:action) { put :update, params: params }
|
||||
|
||||
context 'when editing experiment' do
|
||||
let(:params) do
|
||||
|
@ -27,7 +28,12 @@ describe ExperimentsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :edit_experiment)))
|
||||
|
||||
put :update, params: params
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -40,7 +46,7 @@ describe ExperimentsController, type: :controller do
|
|||
project: project
|
||||
end
|
||||
|
||||
let(:archived_params) do
|
||||
let(:params) do
|
||||
{
|
||||
id: archived_experiment.id,
|
||||
experiment: { archived: false }
|
||||
|
@ -52,7 +58,12 @@ describe ExperimentsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :restore_experiment)))
|
||||
|
||||
put :update, params: archived_params
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
end
|
|
@ -108,6 +108,7 @@ describe ProjectsController, type: :controller do
|
|||
{ project: { name: 'test project A1', team_id: team.id,
|
||||
visibility: 'visible', archived: false } }
|
||||
end
|
||||
let(:action) { post :create, params: params, format: :json }
|
||||
|
||||
it 'returns success response, then unprocessable_entity on second run' do
|
||||
get :create, params: params, format: :json
|
||||
|
@ -118,10 +119,17 @@ describe ProjectsController, type: :controller do
|
|||
expect(response.content_type).to eq 'application/json'
|
||||
end
|
||||
|
||||
it 'never calls create activity service' do
|
||||
expect(Activities::CreateActivityService).to receive(:call)
|
||||
it 'calls create activity for creating project' do
|
||||
expect(Activities::CreateActivityService)
|
||||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :create_project)))
|
||||
|
||||
post :create, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,6 +10,7 @@ describe ProtocolsController, type: :controller do
|
|||
let!(:user_team) { create :user_team, :admin, user: user, team: team }
|
||||
|
||||
describe 'POST create' do
|
||||
let(:action) { post :create, params: params, format: :json }
|
||||
let(:params) do
|
||||
{
|
||||
protocol: {
|
||||
|
@ -24,11 +25,11 @@ describe ProtocolsController, type: :controller do
|
|||
.with(hash_including(activity_type:
|
||||
:create_protocol_in_repository)))
|
||||
|
||||
post :create, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { post :create, params: params, format: :json }
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,6 +14,7 @@ describe RepositoryColumnsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'POST create' do
|
||||
let(:action) { post :create, params: params, format: :json }
|
||||
let(:params) do
|
||||
{
|
||||
repository_id: repository.id,
|
||||
|
@ -29,11 +30,17 @@ describe RepositoryColumnsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :create_column_inventory)))
|
||||
|
||||
post :create, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
||||
describe 'PUT update' do
|
||||
let(:action) { put :update, params: params, format: :json }
|
||||
let(:params) do
|
||||
{
|
||||
id: repository_column.id,
|
||||
|
@ -49,11 +56,17 @@ describe RepositoryColumnsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :edit_column_inventory)))
|
||||
|
||||
post :update, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
||||
describe 'DELETE destroy' do
|
||||
let(:action) { delete :destroy, params: params, format: :json }
|
||||
let(:params) do
|
||||
{ repository_id: repository.id, id: repository_column.id }
|
||||
end
|
||||
|
@ -63,7 +76,12 @@ describe RepositoryColumnsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :delete_column_inventory)))
|
||||
|
||||
delete :destroy, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -127,6 +127,7 @@ describe RepositoryRowsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'POST create' do
|
||||
let(:action) { post :create, params: params, format: :json }
|
||||
let(:params) do
|
||||
{ repository_id: repository.id, repository_row_name: 'row_name' }
|
||||
end
|
||||
|
@ -136,11 +137,17 @@ describe RepositoryRowsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :create_item_inventory)))
|
||||
|
||||
post :create, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
||||
describe 'PUT update' do
|
||||
let(:action) { put :update, params: params, format: :json }
|
||||
let(:params) do
|
||||
{
|
||||
repository_id: repository.id,
|
||||
|
@ -154,11 +161,17 @@ describe RepositoryRowsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :edit_item_inventory)))
|
||||
|
||||
put :update, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
|
||||
describe 'POST delete_records' do
|
||||
let(:action) { post :delete_records, params: params, format: :json }
|
||||
let(:params) do
|
||||
{ repository_id: repository.id, selected_rows: [repository_row.id] }
|
||||
end
|
||||
|
@ -168,7 +181,12 @@ describe RepositoryRowsController, type: :controller do
|
|||
.to(receive(:call)
|
||||
.with(hash_including(activity_type: :delete_item_inventory)))
|
||||
|
||||
post :delete_records, params: params, format: :json
|
||||
action
|
||||
end
|
||||
|
||||
it 'adds activity in DB' do
|
||||
expect { action }
|
||||
.to(change { Activity.count })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,10 +12,10 @@ describe Users::Settings::UserTeamsController, type: :controller do
|
|||
let!(:another_user_team) do
|
||||
create :user_team, :normal_user, user: another_user, team: team
|
||||
end
|
||||
describe 'POST invite_users' do
|
||||
describe 'DELETE destroy' do
|
||||
let(:params) do
|
||||
{
|
||||
id: another_user.id
|
||||
id: another_user_team.id
|
||||
}
|
||||
end
|
||||
let(:action) { delete :destroy, params: params, format: :json }
|
||||
|
@ -44,7 +44,7 @@ describe Users::Settings::UserTeamsController, type: :controller do
|
|||
describe 'PUT update' do
|
||||
let(:params) do
|
||||
{
|
||||
id: another_user.id,
|
||||
id: another_user_team.id,
|
||||
user_team: {
|
||||
role: 'admin'
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ FactoryBot.define do
|
|||
created_by { user }
|
||||
last_modified_by { user }
|
||||
project { create :project, created_by: user }
|
||||
trait :experiment_with_tasks do
|
||||
trait :with_tasks do
|
||||
after(:create) do |e|
|
||||
create_list :my_module, 3, :with_tag, experiment: e
|
||||
end
|
||||
|
|
|
@ -86,7 +86,7 @@ describe Experiment, type: :model do
|
|||
end
|
||||
|
||||
describe '.update_canvas' do
|
||||
let(:experiment) { create :experiment, :experiment_with_tasks }
|
||||
let(:experiment) { create :experiment, :with_tasks }
|
||||
let(:user) { experiment.created_by }
|
||||
|
||||
context 'when renaming tasks' do
|
||||
|
|
|
@ -28,12 +28,12 @@ describe RepositoryAssetValue, type: :model do
|
|||
|
||||
describe '#data' do
|
||||
let!(:repository) { create :repository }
|
||||
let!(:repository_row) { create :repository_row, repository: repository }
|
||||
let!(:repository_column) do
|
||||
create :repository_column,
|
||||
name: 'My column',
|
||||
data_type: :RepositoryAssetValue
|
||||
data_type: :RepositoryAssetValue,
|
||||
repository: repository
|
||||
end
|
||||
let!(:repository_row) { create :repository_row, name: 'My row' }
|
||||
|
||||
it 'returns the asset' do
|
||||
asset = create :asset, file_file_name: 'my file'
|
||||
|
|
|
@ -31,10 +31,10 @@ describe RepositoryColumn, type: :model do
|
|||
should validate_length_of(:name).is_at_most(Constants::NAME_MAX_LENGTH)
|
||||
end
|
||||
it 'have uniq name scoped to repository' do
|
||||
create :repository_column, name: 'Repo One'
|
||||
column_two = build :repository_column, name: 'Repo One'
|
||||
r = create :repository_column, name: 'Repo One'
|
||||
ct = build :repository_column, name: 'Repo One', repository: r.repository
|
||||
|
||||
expect(column_two).to_not be_valid
|
||||
expect(ct).to_not be_valid
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,10 +21,14 @@ RSpec.describe RepositoryListValue, type: :model do
|
|||
describe '#formatted' do
|
||||
let!(:repository) { create :repository }
|
||||
let!(:repository_column) do
|
||||
create :repository_column, name: 'My column',
|
||||
data_type: :RepositoryListValue
|
||||
create :repository_column,
|
||||
name: 'My column',
|
||||
data_type: :RepositoryListValue,
|
||||
repository: repository
|
||||
end
|
||||
let!(:repository_row) do
|
||||
create :repository_row, name: 'My row', repository: repository
|
||||
end
|
||||
let!(:repository_row) { create :repository_row, name: 'My row' }
|
||||
let!(:repository_list_value) do
|
||||
build :repository_list_value, repository_cell_attributes: {
|
||||
repository_column: repository_column,
|
||||
|
@ -46,10 +50,14 @@ RSpec.describe RepositoryListValue, type: :model do
|
|||
describe '#data' do
|
||||
let!(:repository) { create :repository }
|
||||
let!(:repository_column) do
|
||||
create :repository_column, name: 'My column',
|
||||
data_type: :RepositoryListValue
|
||||
create :repository_column,
|
||||
name: 'My column',
|
||||
data_type: :RepositoryListValue,
|
||||
repository: repository
|
||||
end
|
||||
let!(:repository_row) do
|
||||
create :repository_row, name: 'My row', repository: repository
|
||||
end
|
||||
let!(:repository_row) { create :repository_row, name: 'My row' }
|
||||
let!(:repository_list_value) do
|
||||
build :repository_list_value, repository_cell_attributes: {
|
||||
repository_column: repository_column,
|
||||
|
|
|
@ -28,16 +28,17 @@ describe Repository, type: :model do
|
|||
it do
|
||||
should validate_length_of(:name).is_at_most(Constants::NAME_MAX_LENGTH)
|
||||
end
|
||||
let(:team) { create :team }
|
||||
|
||||
it 'should have uniq name scoped to team' do
|
||||
create :repository, name: 'Repository One'
|
||||
repo = build :repository, name: 'Repository One'
|
||||
create :repository, name: 'Repository One', team: team
|
||||
repo = build :repository, name: 'Repository One', team: team
|
||||
expect(repo).to_not be_valid
|
||||
end
|
||||
|
||||
it 'should have uniq name scoped to team calse insensitive' do
|
||||
create :repository, name: 'Repository One'
|
||||
repo = build :repository, name: 'REPOSITORY ONE'
|
||||
create :repository, name: 'Repository One', team: team
|
||||
repo = build :repository, name: 'REPOSITORY ONE', team: team
|
||||
expect(repo).to_not be_valid
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ describe ClientApi::UserTeamService do
|
|||
let(:team_one) { create :team }
|
||||
let(:user_one) { create :user, email: Faker::Internet.email }
|
||||
let(:user_two) { create :user, email: Faker::Internet.email }
|
||||
let(:user_team) { create :user_team, user: user_one, team: team_one }
|
||||
let(:user_team) { create :user_team, :admin, user: user_one, team: team_one }
|
||||
|
||||
it 'should raise ClientApi::CustomUserTeamError if user is not assigned' do
|
||||
expect {
|
||||
|
@ -42,7 +42,7 @@ describe ClientApi::UserTeamService do
|
|||
end
|
||||
|
||||
it 'should destroy the user_team relation' do
|
||||
create :user_team, team: team_one, user: user_one
|
||||
create :user_team, :admin, team: team_one, user: user_one
|
||||
new_user_team = create :user_team, team: team_one, user: user_two
|
||||
ut_service = ClientApi::UserTeamService.new(
|
||||
team_id: team_one.id,
|
||||
|
@ -55,7 +55,7 @@ describe ClientApi::UserTeamService do
|
|||
|
||||
it 'should assign a new owner to the team' do
|
||||
user_team_one = create :user_team, team: team_one, user: user_one
|
||||
create :user_team, team: team_one, user: user_two
|
||||
create :user_team, :admin, team: team_one, user: user_two
|
||||
ut_service = ClientApi::UserTeamService.new(
|
||||
team_id: team_one.id,
|
||||
user_team_id: user_team_one.id,
|
||||
|
@ -95,7 +95,7 @@ describe ClientApi::UserTeamService do
|
|||
|
||||
it 'should raise ClientApi::CustomUserTeamError if is the last ' \
|
||||
'admin on the team' do
|
||||
user_team = create :user_team, team: team_one, user: user_one
|
||||
user_team = create :user_team, :admin, team: team_one, user: user_one
|
||||
ut_service = ClientApi::UserTeamService.new(
|
||||
user: user_one,
|
||||
team_id: team_one.id,
|
||||
|
|
|
@ -13,7 +13,7 @@ describe Experiments::CopyExperimentAsTemplateService do
|
|||
create :project, team: team, user_projects: [user_project]
|
||||
end
|
||||
let(:experiment) do
|
||||
create :experiment_with_tasks, name: 'MyExp', project: project
|
||||
create :experiment, :with_tasks, name: 'MyExp', project: project
|
||||
end
|
||||
let(:user) { create :user }
|
||||
let(:service_call) do
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Experiments::GenerateWorkflowImageService do
|
||||
let(:experiment) { create :experiment_with_tasks }
|
||||
let(:experiment) { create :experiment, :with_tasks }
|
||||
let(:params) { { experiment_id: experiment.id } }
|
||||
|
||||
context 'when succeed' do
|
||||
|
|
|
@ -11,7 +11,7 @@ describe Experiments::MoveToProjectService do
|
|||
create :project, team: team, user_projects: [user_project2]
|
||||
end
|
||||
let(:experiment) do
|
||||
create :experiment_with_tasks, name: 'MyExp', project: project
|
||||
create :experiment, :with_tasks, name: 'MyExp', project: project
|
||||
end
|
||||
let(:user) { create :user }
|
||||
let(:user_project2) { create :user_project, :normal_user, user: user }
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe RepositoryDatatableService do
|
||||
let!(:team) { create :team }
|
||||
let!(:user) { create :user, email: 'user_one@asdf.com' }
|
||||
|
@ -9,8 +11,10 @@ describe RepositoryDatatableService do
|
|||
team: team
|
||||
end
|
||||
let!(:repository_column) do
|
||||
create :repository_column, name: 'My column',
|
||||
data_type: :RepositoryListValue
|
||||
create :repository_column,
|
||||
name: 'My column',
|
||||
data_type: :RepositoryListValue,
|
||||
repository: repository
|
||||
end
|
||||
let!(:repository_state) do
|
||||
RepositoryTableStateService.new(user, repository).create_default_state
|
||||
|
|
Loading…
Add table
Reference in a new issue