Fix failing tests

This commit is contained in:
Urban Rotnik 2019-03-13 09:06:48 +01:00
parent b6a8556601
commit c65d1af18d
17 changed files with 114 additions and 45 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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'
}

View file

@ -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

View file

@ -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

View file

@ -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'

View 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

View file

@ -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,

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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

View file

@ -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 }

View file

@ -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