Commit 3095483e650ae4fc79ff5012117877e5734b75ee
1 parent
3784f134
Exists in
master
and in
4 other branches
Speed up the "Project Network Graph" cucumber feature
This change involves stubbing out the call to `Grit::Commit.find_all` and limiting the number of commits to 10 vs. the standard of 650 used by `Gitlab::GraphCommit.to_graph`. Prior to this change, this single feature required almost 3 minutes of running time and over 2 GB of memory on my machine. Now it takes less than 3 seconds.
Showing
3 changed files
with
11 additions
and
5 deletions
Show diff stats
features/projects/network.feature
... | ... | @@ -4,9 +4,7 @@ Feature: Project Network Graph |
4 | 4 | Background: |
5 | 5 | Given I signin as a user |
6 | 6 | And I own project "Shop" |
7 | - And I visit project "Shop" network page | |
7 | + And I visit project "Shop" network page | |
8 | 8 | |
9 | 9 | Scenario: I should see project network |
10 | 10 | Then page should have network graph |
11 | - | |
12 | - | ... | ... |
features/step_definitions/project/projects_steps.rb
... | ... | @@ -57,6 +57,11 @@ end |
57 | 57 | |
58 | 58 | Given /^I visit project "(.*?)" network page$/ do |arg1| |
59 | 59 | project = Project.find_by_name(arg1) |
60 | + | |
61 | + # Stub out find_all to speed this up (10 commits vs. 650) | |
62 | + commits = Grit::Commit.find_all(project.repo, nil, {max_count: 10}) | |
63 | + Grit::Commit.stub(:find_all).and_return(commits) | |
64 | + | |
60 | 65 | visit graph_project_path(project) |
61 | 66 | end |
62 | 67 | |
... | ... | @@ -67,8 +72,9 @@ end |
67 | 72 | Given /^page should have network graph$/ do |
68 | 73 | page.should have_content "Project Network Graph" |
69 | 74 | within ".graph" do |
70 | - page.should have_content "stable" | |
71 | - page.should have_content "notes_refacto..." | |
75 | + page.should have_content "master" | |
76 | + page.should have_content "github" | |
77 | + page.should have_content "scss_refactor..." | |
72 | 78 | end |
73 | 79 | end |
74 | 80 | ... | ... |
features/support/env.rb