diff options
author | Robert Speicher <rspeicher@gmail.com> | 2017-03-28 18:25:18 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2017-04-04 13:01:39 -0400 |
commit | 3d61609cb42b2ab826498ac0e355841baa5cd482 (patch) | |
tree | 27545a2ffc9c3139976197541dc5bccd7d555fa1 | |
parent | 93de37ce1bd0f5ce015287f0729d625ddf6f7390 (diff) | |
download | gitlab-ce-3d61609cb42b2ab826498ac0e355841baa5cd482.tar.gz |
Use `sign_in` instead of `login_as` when we're not testing login flow
This is a proof of concept for gitlab-org/gitlab-ce#30196.
The actual login procedure is well-tested by
`spec/features/login_spec.rb`, and we don't gain anything by also
thoroughly testing it here, in our second-slowest feature spec. In fact,
it only slows us down!
So instead we use `sign_in` from the `Devise::Test::IntegrationHelpers`
module, which just sets the current user at the Warden level. This
drastically reduces the "setup" phase of every test in this file. A
non-scientific test run saw this drop from 633 to 231 seconds.
-rw-r--r-- | spec/features/issues/filtered_search/filter_issues_spec.rb | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/spec/features/issues/filtered_search/filter_issues_spec.rb b/spec/features/issues/filtered_search/filter_issues_spec.rb index 004e335dd38..2f880c926e7 100644 --- a/spec/features/issues/filtered_search/filter_issues_spec.rb +++ b/spec/features/issues/filtered_search/filter_issues_spec.rb @@ -1,6 +1,7 @@ require 'spec_helper' describe 'Filter issues', js: true, feature: true do + include Devise::Test::IntegrationHelpers include FilteredSearchHelpers include WaitForAjax @@ -42,16 +43,17 @@ describe 'Filter issues', js: true, feature: true do project.team << [user2, :master] group.add_developer(user) group.add_developer(user2) - login_as(user) - create(:issue, project: project) - create(:issue, title: "Bug report 1", project: project) - create(:issue, title: "Bug report 2", project: project) - create(:issue, title: "issue with 'single quotes'", project: project) - create(:issue, title: "issue with \"double quotes\"", project: project) - create(:issue, title: "issue with !@\#{$%^&*()-+", project: project) - create(:issue, title: "issue by assignee", project: project, milestone: milestone, author: user, assignee: user) - create(:issue, title: "issue by assignee with searchTerm", project: project, milestone: milestone, author: user, assignee: user) + sign_in(user) + + create(:issue, project: project) + create(:issue, project: project, title: "Bug report 1") + create(:issue, project: project, title: "Bug report 2") + create(:issue, project: project, title: "issue with 'single quotes'") + create(:issue, project: project, title: "issue with \"double quotes\"") + create(:issue, project: project, title: "issue with !@\#{$%^&*()-+") + create(:issue, project: project, title: "issue by assignee", milestone: milestone, author: user, assignee: user) + create(:issue, project: project, title: "issue by assignee with searchTerm", milestone: milestone, author: user, assignee: user) issue = create(:issue, title: "Bug 2", |