Skip to content

Commit 141470d

Browse files
committed
Fix brittle tests
1 parent 9901ac7 commit 141470d

File tree

4 files changed

+21
-50
lines changed

4 files changed

+21
-50
lines changed

test/integration/project_core_test.rb

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,23 @@ def setup
1111
end
1212

1313
test 'sign in and visit project page, standard user' do
14-
sign_in @user
15-
visit terms_and_conditions_path
16-
click_on 'Accept'
14+
login_and_accept_terms(@user)
1715
visit projects_path
1816
assert page.has_content?('Notifications')
1917
visit terms_and_conditions_path
2018
assert page.has_content?('Terms and Conditions have been accepted')
2119
end
2220

2321
test 'sign in and visit project page, odr user' do
24-
sign_in @odr
25-
visit terms_and_conditions_path
26-
click_on 'Accept'
22+
login_and_accept_terms(@odr)
2723
visit projects_path
2824
assert page.has_content?('Notifications')
2925
visit terms_and_conditions_path
3026
assert page.has_content?('Terms and Conditions have been accepted')
3127
end
3228

3329
test 'sign in and visit project page, admin user' do
34-
sign_in @admin
35-
visit terms_and_conditions_path
36-
click_on 'Accept'
30+
login_and_accept_terms(@admin)
3731
visit projects_path
3832
assert page.has_content?('Notifications')
3933
visit terms_and_conditions_path
@@ -43,19 +37,17 @@ def setup
4337
test 'reset project approvals' do
4438
project = projects(:pending_project)
4539

46-
sign_in @odr
47-
visit terms_and_conditions_path
48-
click_on 'Accept'
40+
login_and_accept_terms(@odr)
4941
visit project_path(project)
5042
click_link('Project Details')
5143

5244
assert_changes -> { project.reload.details_approved } do
5345
within('#approve_details_status') do
5446
click_button 'Approve'
5547

56-
assert has_no_button? 'Approve'
57-
assert has_text? 'APPROVED'
5848
end
49+
assert_text 'APPROVED'
50+
assert has_no_button? 'Approve'
5951
end
6052

6153
accept_prompt do
@@ -68,30 +60,23 @@ def setup
6860

6961
=begin
7062
test 'soft delete a project' do
71-
sign_in @admin
72-
visit terms_and_conditions_path
73-
click_on 'Accept'
63+
login_and_accept_terms(@admin)
7464
visit project_path(projects(:new_project))
7565
click_on 'Delete'
7666
assert page.has_content?('Project was successfully destroyed.')
7767
end
7868
=end
7969

8070
test 'should error if no permission to show project' do
81-
sign_in users(:standard_user_multiple_teams)
82-
visit terms_and_conditions_path
83-
click_on 'Accept'
71+
login_and_accept_terms(users(:standard_user_multiple_teams))
8472
@project = projects(:approved_project)
8573
visit project_path(@project)
8674
end
8775

8876
test 'successful project allocation' do
8977
assigned_user = users(:application_manager_two)
9078

91-
sign_in @odr
92-
93-
visit terms_and_conditions_path
94-
click_on 'Accept'
79+
login_and_accept_terms(@odr)
9580

9681
visit project_path(@eoi)
9782

@@ -102,12 +87,12 @@ def setup
10287
select 'Application Manager Two', from: 'Application Manager'
10388
click_button 'Apply'
10489
end
90+
assert_text 'EOI was successfully assigned'
10591
end
10692
end
10793
end
10894

10995
assert_current_path project_path(@eoi)
110-
assert page.has_text? 'EOI was successfully assigned'
11196
assert_equal assigned_user, @eoi.reload.assigned_user
11297

11398
open_email assigned_user.email
@@ -118,10 +103,7 @@ def setup
118103
test 'unsuccessful project allocation' do
119104
Project.any_instance.stubs(save: false)
120105

121-
sign_in @odr
122-
123-
visit terms_and_conditions_path
124-
click_on 'Accept'
106+
login_and_accept_terms(@odr)
125107

126108
visit project_path(@eoi)
127109

@@ -144,10 +126,7 @@ def setup
144126

145127
project = projects(:pending_delegate_project)
146128

147-
sign_in users(:delegate_user1)
148-
149-
visit terms_and_conditions_path
150-
click_link 'Accept'
129+
login_and_accept_terms(users(:delegate_user1))
151130
visit project_path(project)
152131

153132
accept_prompt do
@@ -158,10 +137,7 @@ def setup
158137
end
159138

160139
test 'should get dashboard page' do
161-
sign_in @odr
162-
163-
visit terms_and_conditions_path
164-
click_on 'Accept'
140+
login_and_accept_terms(@odr)
165141

166142
within '.navbar' do
167143
assert_nothing_raised do
@@ -181,7 +157,7 @@ def setup
181157
project.update!(parent: parent, owner: @user)
182158
child.update!(parent: project, owner: @user)
183159

184-
sign_in @user
160+
login_and_accept_terms(@user)
185161

186162
visit project_path(project)
187163

test/integration/project_dashboard_test.rb

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@ def setup
66
end
77

88
test 'sign in and visit project page, application manager' do
9-
sign_in users(:application_manager_three)
109
cas_project = create_project(project_type: project_types(:cas),
1110
owner: users(:application_manager_three))
1211
cas_project2 = create_project(project_type: project_types(:cas),
1312
owner: users(:standard_user))
1413
eoi_project = create_project(project_type: project_types(:eoi), project_purpose: 'test',
1514
owner: users(:application_manager_three))
16-
visit terms_and_conditions_path
17-
click_on 'Accept'
15+
login_and_accept_terms(users(:application_manager_three))
1816
visit dashboard_projects_path
1917
within('#projects-table', match: :first) do
2018
assert has_content?('Project Title')
@@ -48,15 +46,14 @@ def setup
4846
end
4947

5048
test 'sign in and visit project page, mbis delegate' do
51-
sign_in users(:delegate_user1)
49+
5250
cas_project = create_project(project_type: project_types(:cas),
5351
owner: users(:delegate_user1))
5452
cas_project2 = create_project(project_type: project_types(:cas),
5553
owner: users(:standard_user))
5654
mbis_project = create_project(project_type: project_types(:project), project_purpose: 'test',
5755
owner: users(:delegate_user1))
58-
visit terms_and_conditions_path
59-
click_on 'Accept'
56+
login_and_accept_terms(users(:delegate_user1))
6057
visit dashboard_projects_path
6158

6259
assert has_content?('Unassigned Projects')
@@ -88,15 +85,13 @@ def setup
8885
end
8986

9087
test 'sign in and visit project page, mbis applicant' do
91-
sign_in users(:standard_user1)
9288
cas_project = create_project(project_type: project_types(:cas),
9389
owner: users(:standard_user1))
9490
cas_project2 = create_project(project_type: project_types(:cas),
9591
owner: users(:no_roles))
9692
mbis_project = create_project(project_type: project_types(:project), project_purpose: 'test',
9793
owner: users(:standard_user1))
98-
visit terms_and_conditions_path
99-
click_on 'Accept'
94+
login_and_accept_terms(users(:standard_user1))
10095
visit dashboard_projects_path
10196

10297
assert has_content?('Unassigned Projects')

test/integration/smoke_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def setup
1010
test 'sign in and accept terms' do
1111
sign_in @user
1212
visit terms_and_conditions_path
13+
assert_text @user.email
1314
click_on 'Accept'
1415
assert page.has_content?('Notifications')
1516
visit terms_and_conditions_path
@@ -19,6 +20,7 @@ def setup
1920
test 'sign in and reject terms' do
2021
sign_in @user
2122
visit terms_and_conditions_path
23+
assert_text @user.email
2224
click_on 'Reject'
2325
assert page.has_content?('You have 2 attempts to approve the terms and then your account will be locked')
2426
assert page.has_content?('Welcome to the Data Management System')

test/integration/team_core_test.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ def setup
55
@admin = users(:admin_user)
66
@organisation = organisations(:test_organisation_one)
77

8-
sign_in @admin
9-
visit terms_and_conditions_path
10-
click_on 'Accept'
8+
login_and_accept_terms(@admin)
119
visit organisation_teams_path(@organisation)
1210
end
1311

0 commit comments

Comments
 (0)