Skip to content

Commit

Permalink
Events: make 'title' a required field
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Carel committed Dec 3, 2015
1 parent 76a53be commit 4972538
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 7 deletions.
1 change: 1 addition & 0 deletions app/models/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class Event < ActiveRecord::Base
# suggestion from Nicholas
to_param :title

validates :title, presence: true
validates :starts_at, presence: true

def self.published
Expand Down
2 changes: 1 addition & 1 deletion db/migrate/20140929233719_create_events.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def up
t.datetime :starts_at, null: false
t.timestamps
end
Event.create_translation_table! :title => :string, :introduction => :text, :conclusion => :text
Event.create_translation_table! title: {type: :string, null: false}, introduction: :text, conclusion: :text
end

def down
Expand Down
2 changes: 1 addition & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
t.string "locale", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "title"
t.string "title", null: false
t.text "introduction"
t.text "conclusion"
end
Expand Down
15 changes: 10 additions & 5 deletions spec/models/event_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,21 @@
# updated_at :datetime
#

require 'rails_helper'
require "rails_helper"

RSpec.describe Event, :type => :model do

describe 'attribute validations' do
it 'does not validate when starts_at is not defined' do
describe "attribute validations" do
it "does not validate when 'starts_at' is not defined" do
event = Event.new(starts_at: nil)
expect(event).to_not be_valid
expect(event).to be_invalid
expect(event.errors.messages.keys).to include :starts_at
end
end

it "does not validate when 'title' is not defined" do
event = Event.new(title: nil)
expect(event).to be_invalid
expect(event.errors.messages.keys).to include :title
end
end
end

0 comments on commit 4972538

Please sign in to comment.