Commit b96af79bb8a312e6870ad62637c0e3372eac32b7
1 parent
e0d1fba1
Exists in
master
and in
4 other branches
Specs for last push widget
Showing
3 changed files
with
57 additions
and
3 deletions
Show diff stats
app/assets/stylesheets/common.scss
app/views/events/_event_last_push.html.haml
1 | -- if event && event.branch_name && event.project.merge_requests_enabled | 1 | +- if event && event.branch_name |
2 | .event_lp | 2 | .event_lp |
3 | %div | 3 | %div |
4 | = image_tag gravatar_icon(event.author_email), :class => "avatar" | 4 | = image_tag gravatar_icon(event.author_email), :class => "avatar" |
@@ -12,5 +12,6 @@ | @@ -12,5 +12,6 @@ | ||
12 | = time_ago_in_words(event.created_at) | 12 | = time_ago_in_words(event.created_at) |
13 | ago. | 13 | ago. |
14 | 14 | ||
15 | - = link_to new_mr_path_from_push_event(event), :title => "New Merge Request", :class => "btn small padded primary" do | ||
16 | - Merge Request | 15 | + - if event.project.merge_requests_enabled |
16 | + = link_to new_mr_path_from_push_event(event), :title => "New Merge Request", :class => "btn small padded primary" do | ||
17 | + Create Merge Request |
@@ -0,0 +1,52 @@ | @@ -0,0 +1,52 @@ | ||
1 | +require 'spec_helper' | ||
2 | + | ||
3 | +describe "Last Push widget" do | ||
4 | + before { login_as :user } | ||
5 | + | ||
6 | + before do | ||
7 | + @project = Factory :project, :owner => @user | ||
8 | + @project.add_access(@user, :read) | ||
9 | + create_push_event | ||
10 | + visit projects_path | ||
11 | + end | ||
12 | + | ||
13 | + it "should display last push widget with link to merge request page" do | ||
14 | + page.should have_content "Your last push was to branch new_design" | ||
15 | + page.should have_link "Create Merge Request" | ||
16 | + end | ||
17 | + | ||
18 | + describe "click create MR" do | ||
19 | + before { click_link "Create Merge Request" } | ||
20 | + | ||
21 | + it { current_path.should == new_project_merge_request_path(@project) } | ||
22 | + it { find("#merge_request_source_branch").value.should == "new_design" } | ||
23 | + it { find("#merge_request_target_branch").value.should == "master" } | ||
24 | + it { find("#merge_request_title").value.should == "\nNew Design" } | ||
25 | + end | ||
26 | + | ||
27 | + | ||
28 | + def create_push_event | ||
29 | + data = { | ||
30 | + :before => "0000000000000000000000000000000000000000", | ||
31 | + :after => "0220c11b9a3e6c69dc8fd35321254ca9a7b98f7e", | ||
32 | + :ref => "refs/heads/new_design", | ||
33 | + :user_id => @user.id, | ||
34 | + :user_name => @user.name, | ||
35 | + :repository => { | ||
36 | + :name => @project.name, | ||
37 | + :url => "localhost/rubinius", | ||
38 | + :description => "", | ||
39 | + :homepage => "localhost/rubinius", | ||
40 | + :private => true | ||
41 | + } | ||
42 | + } | ||
43 | + | ||
44 | + @event = Event.create( | ||
45 | + :project => @project, | ||
46 | + :action => Event::Pushed, | ||
47 | + :data => data, | ||
48 | + :author_id => @user.id | ||
49 | + ) | ||
50 | + end | ||
51 | +end | ||
52 | + |