hubstats 0.5.4 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +9 -0
- data/app/controllers/hubstats/deploys_controller.rb +2 -2
- data/app/controllers/hubstats/pull_requests_controller.rb +1 -1
- data/app/controllers/hubstats/repos_controller.rb +11 -34
- data/app/controllers/hubstats/teams_controller.rb +7 -6
- data/app/controllers/hubstats/users_controller.rb +1 -7
- data/app/helpers/hubstats/metrics_helper.rb +105 -0
- data/app/models/hubstats/comment.rb +2 -0
- data/app/models/hubstats/deploy.rb +15 -1
- data/app/models/hubstats/label.rb +2 -0
- data/app/models/hubstats/pull_request.rb +3 -1
- data/app/models/hubstats/repo.rb +2 -0
- data/app/models/hubstats/team.rb +2 -0
- data/app/models/hubstats/user.rb +3 -1
- data/app/views/hubstats/deploys/index.html.erb +4 -0
- data/app/views/hubstats/deploys/show.html.erb +1 -1
- data/app/views/hubstats/partials/_dashboard.html.erb +14 -0
- data/app/views/hubstats/partials/_header.html.erb +5 -5
- data/app/views/hubstats/partials/_quick_stats_one.html.erb +93 -0
- data/app/views/hubstats/partials/_quick_stats_two.html.erb +93 -0
- data/app/views/hubstats/pull_requests/show.html.erb +1 -1
- data/app/views/hubstats/repos/index.html.erb +14 -0
- data/app/views/hubstats/repos/show.html.erb +2 -2
- data/app/views/hubstats/teams/index.html.erb +3 -0
- data/app/views/hubstats/teams/show.html.erb +2 -2
- data/app/views/hubstats/users/index.html.erb +4 -14
- data/app/views/hubstats/users/show.html.erb +1 -1
- data/config/routes.rb +1 -2
- data/lib/hubstats/engine.rb +1 -0
- data/lib/hubstats/version.rb +1 -1
- data/spec/controllers/hubstats/deploys_controller_spec.rb +18 -15
- data/spec/controllers/hubstats/pull_requests_controller_spec.rb +17 -12
- data/spec/controllers/hubstats/repos_controller_spec.rb +21 -14
- data/spec/controllers/hubstats/teams_controller_spec.rb +5 -4
- data/spec/controllers/hubstats/users_controller_spec.rb +10 -9
- data/spec/factories/comment.rb +3 -1
- data/spec/factories/pull_requests.rb +5 -3
- data/spec/factories/repo.rb +1 -1
- data/spec/factories/users.rb +1 -1
- data/spec/lib/hubstats/events_handler_spec.rb +10 -3
- data/spec/lib/hubstats/github_api_spec.rb +2 -0
- data/spec/models/hubstats/comment_spec.rb +7 -15
- data/spec/models/hubstats/pull_request_spec.rb +22 -4
- data/spec/models/hubstats/team_spec.rb +1 -1
- data/spec/models/hubstats/user_spec.rb +6 -6
- metadata +7 -5
- data/app/views/hubstats/partials/_quick_addition_stats.html.erb +0 -33
- data/app/views/hubstats/partials/_quick_stats.html.erb +0 -69
- data/app/views/hubstats/repos/dashboard.html.erb +0 -24
@@ -14,19 +14,19 @@
|
|
14
14
|
{:data => {:repo_path => repos_path(), :user_path => users_path(), :team_path => teams_path()}, :class => "navbar-brand title", :id =>"brand"}%>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
<!-- Show all of the pages (Teams,
|
17
|
+
<!-- Show all of the pages (Repositories, Teams, Users, Deployments, Pull Requests) in tab form -->
|
18
18
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
19
19
|
<ul class="nav navbar-nav navbar-right">
|
20
|
+
<li class="<%='navbar-active' if params[:controller] == 'hubstats/repos'%>">
|
21
|
+
<%= link_to "Repositories", repos_path%></li>
|
20
22
|
<li class="<%='navbar-active' if params[:controller] == 'hubstats/teams'%>">
|
21
23
|
<%= link_to "Teams", teams_path%></li>
|
24
|
+
<li class="<%='navbar-active' if params[:controller] == 'hubstats/users'%>">
|
25
|
+
<%= link_to "Users", users_path%></li>
|
22
26
|
<li class="<%='navbar-active' if params[:controller] == 'hubstats/deploys'%>">
|
23
27
|
<%= link_to "Deployments", deploys_path%></li>
|
24
|
-
<li class="<%='navbar-active' if params[:controller] == 'hubstats/repos'%>">
|
25
|
-
<%= link_to "Metrics", metrics_path%></li>
|
26
28
|
<li class="<%='navbar-active' if params[:controller] == 'hubstats/pull_requests'%>">
|
27
29
|
<%= link_to "Pull Requests", root_path%></li>
|
28
|
-
<li class="<%='navbar-active' if params[:controller] == 'hubstats/users'%>">
|
29
|
-
<%= link_to "Users", users_path%></li>
|
30
30
|
<li>
|
31
31
|
<!-- Show the datepicker -->
|
32
32
|
<div class="input-daterange input-group" id="datepicker">
|
@@ -0,0 +1,93 @@
|
|
1
|
+
<!-- All of the options for showing any stats -->
|
2
|
+
<div class="col-lg-<%= (12-(@stats_row_one.length)*2)/2 %>"></div>
|
3
|
+
|
4
|
+
<% if @stats_row_one.has_key? :active_user_count %>
|
5
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
6
|
+
<h1> <%= @stats_row_one[:active_user_count] %> </h1>
|
7
|
+
<h4> Active Users </h4>
|
8
|
+
</div>
|
9
|
+
<% end %>
|
10
|
+
<% if @stats_row_one.has_key? :developer_count %>
|
11
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
12
|
+
<h1> <%= @stats_row_one[:developer_count] %> </h1>
|
13
|
+
<h4> Developers </h4>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
<% if @stats_row_one.has_key? :reviewer_count %>
|
17
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
18
|
+
<h1> <%= @stats_row_one[:reviewer_count] %> </h1>
|
19
|
+
<h4> Reviewers </h4>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
<% if @stats_row_one.has_key? :pull_count %>
|
23
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
24
|
+
<h1> <%= @stats_row_one[:pull_count] %> </h1>
|
25
|
+
<h4> Merged Pull Requests </h4>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
28
|
+
<% if @stats_row_one.has_key? :pulls_per_dev %>
|
29
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
30
|
+
<h1> <%= @stats_row_one[:pulls_per_dev] %> </h1>
|
31
|
+
<h4> Pull Requests per Developer </h4>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
<% if @stats_row_one.has_key? :deploy_count %>
|
35
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
36
|
+
<h1> <%= @stats_row_one[:deploy_count] %> </h1>
|
37
|
+
<h4> Deployments </h4>
|
38
|
+
</div>
|
39
|
+
<% end %>
|
40
|
+
<% if @stats_row_one.has_key? :comment_count %>
|
41
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
42
|
+
<h1><%= @stats_row_one[:comment_count] %> </h1>
|
43
|
+
<h4> Comments </h4>
|
44
|
+
</div>
|
45
|
+
<% end %>
|
46
|
+
<% if @stats_row_one.has_key? :review_count %>
|
47
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
48
|
+
<h1> <%= @stats_row_one[:review_count] %> </h1>
|
49
|
+
<h4> Code Reviews </h4>
|
50
|
+
</div>
|
51
|
+
<% end %>
|
52
|
+
<% if @stats_row_one.has_key? :comments_per_rev %>
|
53
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
54
|
+
<h1> <%= @stats_row_one[:comments_per_rev] %> </h1>
|
55
|
+
<h4> Comments per Reviewer </h4>
|
56
|
+
</div>
|
57
|
+
<% end %>
|
58
|
+
<% if @stats_row_one.has_key? :repo_count %>
|
59
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
60
|
+
<h1> <%= @stats_row_one[:repo_count] %> </h1>
|
61
|
+
<h4> Repositories with Pull Requests or Comments </h4>
|
62
|
+
</div>
|
63
|
+
<% end %>
|
64
|
+
<% if @stats_row_one.has_key? :net_additions %>
|
65
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
66
|
+
<h1> <%= @stats_row_one[:net_additions] %> </h1>
|
67
|
+
<h4> Net Additions </h4>
|
68
|
+
</div>
|
69
|
+
<% end %>
|
70
|
+
<% if @stats_row_one.has_key? :avg_additions %>
|
71
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
72
|
+
<h1> <%= @stats_row_one[:avg_additions] %> </h1>
|
73
|
+
<h4> Average Additions per Pull Request </h4>
|
74
|
+
</div>
|
75
|
+
<% end %>
|
76
|
+
<% if @stats_row_one.has_key? :avg_deletions%>
|
77
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
78
|
+
<h1><%= @stats_row_one[:avg_deletions] %> </h1>
|
79
|
+
<h4> Average Deletions per Pull Request </h4>
|
80
|
+
</div>
|
81
|
+
<% end %>
|
82
|
+
<% if @stats_row_one.has_key? :additions %>
|
83
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
84
|
+
<h1> <%= @stats_row_one[:additions] %> </h1>
|
85
|
+
<h4> Additions </h4>
|
86
|
+
</div>
|
87
|
+
<% end %>
|
88
|
+
<% if @stats_row_one.has_key? :deletions%>
|
89
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
90
|
+
<h1><%= @stats_row_one[:deletions] %> </h1>
|
91
|
+
<h4> Deletions </h4>
|
92
|
+
</div>
|
93
|
+
<% end %>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
<!-- All of the options for showing any stats -->
|
2
|
+
<div class="col-lg-<%= (12-(@stats_row_two.length)*2)/2 %>"></div>
|
3
|
+
|
4
|
+
<% if @stats_row_two.has_key? :active_user_count %>
|
5
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
6
|
+
<h1> <%= @stats_row_two[:active_user_count] %> </h1>
|
7
|
+
<h4> Active Users </h4>
|
8
|
+
</div>
|
9
|
+
<% end %>
|
10
|
+
<% if @stats_row_two.has_key? :developer_count %>
|
11
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
12
|
+
<h1> <%= @stats_row_two[:developer_count] %> </h1>
|
13
|
+
<h4> Developers </h4>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
<% if @stats_row_two.has_key? :reviewer_count %>
|
17
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
18
|
+
<h1> <%= @stats_row_two[:reviewer_count] %> </h1>
|
19
|
+
<h4> Reviewers </h4>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
<% if @stats_row_two.has_key? :pull_count %>
|
23
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
24
|
+
<h1> <%= @stats_row_two[:pull_count] %> </h1>
|
25
|
+
<h4> Merged Pull Requests </h4>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
28
|
+
<% if @stats_row_two.has_key? :pulls_per_dev %>
|
29
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
30
|
+
<h1> <%= @stats_row_two[:pulls_per_dev] %> </h1>
|
31
|
+
<h4> Pull Requests per Developer </h4>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
<% if @stats_row_two.has_key? :deploy_count %>
|
35
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
36
|
+
<h1> <%= @stats_row_two[:deploy_count] %> </h1>
|
37
|
+
<h4> Deployments </h4>
|
38
|
+
</div>
|
39
|
+
<% end %>
|
40
|
+
<% if @stats_row_two.has_key? :comment_count %>
|
41
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
42
|
+
<h1><%= @stats_row_two[:comment_count] %> </h1>
|
43
|
+
<h4> Comments </h4>
|
44
|
+
</div>
|
45
|
+
<% end %>
|
46
|
+
<% if @stats_row_two.has_key? :review_count %>
|
47
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
48
|
+
<h1> <%= @stats_row_two[:review_count] %> </h1>
|
49
|
+
<h4> Code Reviews </h4>
|
50
|
+
</div>
|
51
|
+
<% end %>
|
52
|
+
<% if @stats_row_two.has_key? :comments_per_rev %>
|
53
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
54
|
+
<h1> <%= @stats_row_two[:comments_per_rev] %> </h1>
|
55
|
+
<h4> Comments per Reviewer </h4>
|
56
|
+
</div>
|
57
|
+
<% end %>
|
58
|
+
<% if @stats_row_two.has_key? :repo_count %>
|
59
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
60
|
+
<h1> <%= @stats_row_two[:repo_count] %> </h1>
|
61
|
+
<h4> Repositories with Pull Requests or Comments </h4>
|
62
|
+
</div>
|
63
|
+
<% end %>
|
64
|
+
<% if @stats_row_two.has_key? :net_additions %>
|
65
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
66
|
+
<h1> <%= @stats_row_two[:net_additions] %> </h1>
|
67
|
+
<h4> Net Additions </h4>
|
68
|
+
</div>
|
69
|
+
<% end %>
|
70
|
+
<% if @stats_row_two.has_key? :avg_additions %>
|
71
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
72
|
+
<h1> <%= @stats_row_two[:avg_additions] %> </h1>
|
73
|
+
<h4> Average Additions per Pull Request </h4>
|
74
|
+
</div>
|
75
|
+
<% end %>
|
76
|
+
<% if @stats_row_two.has_key? :avg_deletions%>
|
77
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
78
|
+
<h1><%= @stats_row_two[:avg_deletions] %> </h1>
|
79
|
+
<h4> Average Deletions per Pull Request </h4>
|
80
|
+
</div>
|
81
|
+
<% end %>
|
82
|
+
<% if @stats_row_two.has_key? :additions %>
|
83
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
84
|
+
<h1> <%= @stats_row_two[:additions] %> </h1>
|
85
|
+
<h4> Additions </h4>
|
86
|
+
</div>
|
87
|
+
<% end %>
|
88
|
+
<% if @stats_row_two.has_key? :deletions%>
|
89
|
+
<div class="col col-lg-2 col-md-3 col-sm-3 col-xs-3 text-center">
|
90
|
+
<h1><%= @stats_row_two[:deletions] %> </h1>
|
91
|
+
<h4> Deletions </h4>
|
92
|
+
</div>
|
93
|
+
<% end %>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
</h1>
|
11
11
|
|
12
12
|
<!-- Show the date/time that the deploy was deployed -->
|
13
|
-
<%= render 'hubstats/partials/
|
13
|
+
<%= render 'hubstats/partials/quick_stats_one' %>
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<!-- If the pull request is closed, then show the deploy that merged this PR -->
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="container" id="repo">
|
2
|
+
|
3
|
+
<%= render 'hubstats/partials/dashboard', :collection => dashboard %>
|
4
|
+
|
5
|
+
<div class="row">
|
6
|
+
<div class="col col-lg-12">
|
7
|
+
<%= render 'hubstats/tables/repos' %>
|
8
|
+
<div class="text-center">
|
9
|
+
<%= will_paginate @repo, renderer: BootstrapPagination::Rails %>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
|
@@ -5,14 +5,14 @@
|
|
5
5
|
<h1 class="title text-center"><a href=<%=@repo.html_url%>> <%= @repo.name.titleize %> </a></h1>
|
6
6
|
|
7
7
|
<!-- Show all of the stats about the repository -->
|
8
|
-
<%= render 'hubstats/partials/
|
8
|
+
<%= render 'hubstats/partials/quick_stats_one' %>
|
9
9
|
<br>
|
10
10
|
<br>
|
11
11
|
<br>
|
12
12
|
<br>
|
13
13
|
<br>
|
14
14
|
<br>
|
15
|
-
<%= render 'hubstats/partials/
|
15
|
+
<%= render 'hubstats/partials/quick_stats_two' %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="row">
|
@@ -5,14 +5,14 @@
|
|
5
5
|
<h1 class="title text-center"><%= @team.name %></a> </h1>
|
6
6
|
|
7
7
|
<!-- Show all of the stats about the team -->
|
8
|
-
|
8
|
+
<%= render 'hubstats/partials/quick_stats_one' %>
|
9
9
|
<br>
|
10
10
|
<br>
|
11
11
|
<br>
|
12
12
|
<br>
|
13
13
|
<br>
|
14
14
|
<br>
|
15
|
-
<%= render 'hubstats/partials/
|
15
|
+
<%= render 'hubstats/partials/quick_stats_two' %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="row">
|
@@ -1,20 +1,10 @@
|
|
1
1
|
<div class="container" id="user"%>
|
2
|
-
<div class="row"%>
|
3
|
-
<div class="col-lg-3">
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
<input class="select2-control" id="repos">
|
8
|
-
</input>
|
9
|
-
</div>
|
10
|
-
<div class="form-group">
|
11
|
-
<input class="select2-control" id="users">
|
12
|
-
</input>
|
13
|
-
</div>
|
14
|
-
</div>
|
3
|
+
<%= render 'hubstats/partials/dashboard', :collection => dashboard %>
|
4
|
+
<br>
|
15
5
|
|
16
|
-
|
17
|
-
<div class="col-lg-
|
6
|
+
<div class="row"%>
|
7
|
+
<div class="col col-lg-12">
|
18
8
|
<%= render 'hubstats/tables/users' %>
|
19
9
|
<div class="text-center">
|
20
10
|
<%= will_paginate @users, renderer: BootstrapPagination::Rails %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<h1 class="title text-center"><a href=<%=@user.html_url%>> <%= @user.login %></a> </h1>
|
6
6
|
|
7
7
|
<!-- Show all of the stats about the user -->
|
8
|
-
<%= render 'hubstats/partials/
|
8
|
+
<%= render 'hubstats/partials/quick_stats_one' %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="row">
|
data/config/routes.rb
CHANGED
@@ -7,8 +7,7 @@ Hubstats::Engine.routes.draw do
|
|
7
7
|
resources :teams, :only => [:index, :show]
|
8
8
|
get "/users" => "users#index", :as => :users # routes to list of users
|
9
9
|
get "/user/:id" => "users#show", :as => :user # routes to specific user's contributions
|
10
|
-
get "/
|
11
|
-
get "/repos" => "repos#index", :as => :repos # route is for the repo filter on the pull request and deploys page
|
10
|
+
get "/repos" => "repos#index", :as => :repos # routes to the list of repos
|
12
11
|
get "/:repo" => "repos#show", :as => :repo # routes to specific repo's stats
|
13
12
|
scope "/:repo", :as => :repo do
|
14
13
|
get '/pull/:id' => "pull_requests#show", :as => :pull # routes to the specific repo's pull id
|
data/lib/hubstats/engine.rb
CHANGED
data/lib/hubstats/version.rb
CHANGED
@@ -6,7 +6,7 @@ module Hubstats
|
|
6
6
|
|
7
7
|
describe "#index" do
|
8
8
|
it "should correctly order all of the deploys" do
|
9
|
-
repo = create(:repo, :full_name => "sportngin/ngin")
|
9
|
+
repo = create(:repo, :full_name => "sportngin/ngin", :updated_at => Date.today)
|
10
10
|
deploy1 = create(:deploy, :git_revision => "c1a2b37",
|
11
11
|
:repo_id => 101010,
|
12
12
|
:deployed_at => "2009-02-03 03:00:00 -0500",
|
@@ -33,12 +33,13 @@ module Hubstats
|
|
33
33
|
|
34
34
|
describe "#show" do
|
35
35
|
it "should show the pull requests of the specific deploy" do
|
36
|
-
repo = create(:repo, :full_name => "sportngin/ngin")
|
36
|
+
repo = create(:repo, :full_name => "sportngin/ngin", :updated_at => Date.today)
|
37
|
+
user = build(:user, :updated_at => Date.today)
|
37
38
|
deploy = create(:deploy, :git_revision => "c1a2b37",
|
38
39
|
:repo_id => 101010,
|
39
40
|
:deployed_at => "2009-02-03 03:00:00 -0500")
|
40
|
-
pull1 = create(:pull_request, :deploy_id => deploy.id, :repo => repo)
|
41
|
-
pull2 = create(:pull_request, :deploy_id => deploy.id, :repo => repo)
|
41
|
+
pull1 = create(:pull_request, :deploy_id => deploy.id, :repo => repo, :updated_at => Date.today, :user_id => user.id)
|
42
|
+
pull2 = create(:pull_request, :deploy_id => deploy.id, :repo => repo, :updated_at => Date.today, :user_id => user.id)
|
42
43
|
get :show, id: deploy.id
|
43
44
|
expect(assigns(:deploy)).to eq(deploy)
|
44
45
|
expect(assigns(:pull_requests)).to contain_exactly(pull1, pull2)
|
@@ -48,35 +49,37 @@ module Hubstats
|
|
48
49
|
|
49
50
|
describe "#create" do
|
50
51
|
before :each do
|
51
|
-
|
52
|
+
user = build(:user, :updated_at => Date.today)
|
53
|
+
repo = create(:repo, :id => 505050, :full_name => "example/name", :updated_at => Date.today)
|
54
|
+
create(:pull_request, :number => 33364992, :merged_by => 202020, :updated_at => Date.today, :user_id => user.id, :repo_id => repo.id)
|
52
55
|
end
|
53
56
|
|
54
57
|
it 'should create a deploy' do
|
55
58
|
post(:create, {"git_revision" => "c1a2b37",
|
56
|
-
"repo_name" => "
|
59
|
+
"repo_name" => "example/name",
|
57
60
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
58
61
|
"pull_request_ids" => "33364992, 5870592, 33691392"})
|
59
62
|
expect(assigns(:deploy).git_revision).to eq("c1a2b37")
|
60
63
|
expect(assigns(:deploy).deployed_at).to eq("2009-02-03 03:00:00 -0500")
|
61
|
-
expect(assigns(:deploy).repo_id).to eq(
|
64
|
+
expect(assigns(:deploy).repo_id).to eq(505050)
|
62
65
|
expect(assigns(:deploy).user_id).to eq(202020)
|
63
66
|
expect(response).to have_http_status(200)
|
64
67
|
end
|
65
68
|
|
66
69
|
it 'should create a deploy without a deployed_at because nil time turns into current time' do
|
67
70
|
post(:create, {"git_revision" => "c1a2b37",
|
68
|
-
"repo_name" => "
|
71
|
+
"repo_name" => "example/name",
|
69
72
|
"deployed_at" => nil,
|
70
73
|
"pull_request_ids" => "33364992, 5870592, 33691392"})
|
71
74
|
expect(assigns(:deploy).git_revision).to eq("c1a2b37")
|
72
|
-
expect(assigns(:deploy).repo_id).to eq(
|
75
|
+
expect(assigns(:deploy).repo_id).to eq(505050)
|
73
76
|
expect(assigns(:deploy).user_id).to eq(202020)
|
74
77
|
expect(response).to have_http_status(200)
|
75
78
|
end
|
76
79
|
|
77
80
|
it 'should NOT create a deploy without a git_revision' do
|
78
81
|
post(:create, {"git_revision" => nil,
|
79
|
-
"repo_name" => "
|
82
|
+
"repo_name" => "example/name",
|
80
83
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
81
84
|
"pull_request_ids" => "33364992, 5870592, 33691392"})
|
82
85
|
expect(response).to have_http_status(400)
|
@@ -84,7 +87,7 @@ module Hubstats
|
|
84
87
|
|
85
88
|
it 'should create a deploy without a user_id' do
|
86
89
|
post(:create, {"git_revision" => "c1a2b37",
|
87
|
-
"repo_name" => "
|
90
|
+
"repo_name" => "example/name",
|
88
91
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
89
92
|
"pull_request_ids" => "33364992, 5870592, 33691392"})
|
90
93
|
expect(response).to have_http_status(200)
|
@@ -108,7 +111,7 @@ module Hubstats
|
|
108
111
|
|
109
112
|
it 'should NOT create a deploy without pull request ids' do
|
110
113
|
post(:create, {"git_revision" => "c1a2b37",
|
111
|
-
"repo_name" => "
|
114
|
+
"repo_name" => "example/name",
|
112
115
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
113
116
|
"pull_request_ids" => nil})
|
114
117
|
expect(response).to have_http_status(400)
|
@@ -116,7 +119,7 @@ module Hubstats
|
|
116
119
|
|
117
120
|
it 'should NOT create a deploy when given empty pull request ids' do
|
118
121
|
post(:create, {"git_revision" => "c1a2b37",
|
119
|
-
"repo_name" => "
|
122
|
+
"repo_name" => "example/name",
|
120
123
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
121
124
|
"pull_request_ids" => ""})
|
122
125
|
expect(response).to have_http_status(400)
|
@@ -124,7 +127,7 @@ module Hubstats
|
|
124
127
|
|
125
128
|
it 'should NOT create a deploy when given something that are not pull request ids' do
|
126
129
|
post(:create, {"git_revision" => "c1a2b37",
|
127
|
-
"repo_name" => "
|
130
|
+
"repo_name" => "example/name",
|
128
131
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
129
132
|
"pull_request_ids" => "blah bleh blooh"})
|
130
133
|
expect(response).to have_http_status(400)
|
@@ -132,7 +135,7 @@ module Hubstats
|
|
132
135
|
|
133
136
|
it 'should NOT create a deploy when given invalid pull request ids' do
|
134
137
|
post(:create, {"git_revision" => "c1a2b37",
|
135
|
-
"repo_name" => "
|
138
|
+
"repo_name" => "example/name",
|
136
139
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
137
140
|
"pull_request_ids" => "77, 81, 92"})
|
138
141
|
expect(response).to have_http_status(400)
|