File tree Expand file tree Collapse file tree 4 files changed +28
-5
lines changed Expand file tree Collapse file tree 4 files changed +28
-5
lines changed Original file line number Diff line number Diff line change @@ -13,7 +13,8 @@ def create
13
13
flash [ :notice ] = "Project has been created."
14
14
redirect_to @project
15
15
else
16
- # nothing, yet
16
+ flash [ :alert ] = "Project has not been created."
17
+ render "new"
17
18
end
18
19
end
19
20
Original file line number Diff line number Diff line change 1
1
class Project < ActiveRecord ::Base
2
+ validates :name , presence : true
2
3
end
Original file line number Diff line number Diff line change 1
1
< h2 > New Project</ h2 >
2
2
<%= form_for ( @project ) do |f | %>
3
+ <% if @project . errors . any? %>
4
+ < div id ="error_explanation ">
5
+ < h2 > <%= pluralize ( @project . errors . count , "error" ) %>
6
+ prohibited this project from being saved:</ h2 >
7
+
8
+ < ul >
9
+ <% @project . errors . full_messages . each do |msg | %>
10
+ < li > <%= msg %> </ li >
11
+ <% end %>
12
+ </ ul >
13
+ </ div >
14
+ <% end %>
3
15
< p >
4
16
<%= f . label :name %> < br >
5
17
<%= f . text_field :name %>
Original file line number Diff line number Diff line change 1
1
require 'rails_helper'
2
2
3
3
feature 'Creating Projects' do
4
- scenario 'can create a project' do
4
+ before do
5
5
visit '/'
6
6
7
7
click_link 'New Project'
8
+ end
8
9
10
+ scenario 'can create a project' do
9
11
fill_in 'Name' , with : 'Sublime Text 3'
10
- fill_in 'Description' , with : 'A text-editor for everyone '
12
+ fill_in 'Description' , with : 'A text-editor for OS X '
11
13
click_button 'Create Project'
12
14
13
15
expect ( page ) . to have_content ( 'Project has been created.' )
14
16
15
- project = Project . where ( name : " Sublime Text 3" ) . first
17
+ project = Project . where ( name : ' Sublime Text 3' ) . first
16
18
17
19
expect ( page . current_url ) . to eql ( project_url ( project ) )
18
20
19
- title = " Sublime Text 3 - Projects - Ticketee"
21
+ title = ' Sublime Text 3 - Projects - Ticketee'
20
22
expect ( page ) . to have_title ( title )
21
23
end
24
+
25
+ scenario "can not create a project without a name" do
26
+ click_button 'Create Project'
27
+
28
+ expect ( page ) . to have_content ( "Project has not been created." )
29
+ expect ( page ) . to have_content ( "Name can't be blank" )
30
+ end
22
31
end
You can’t perform that action at this time.
0 commit comments