diff options
author | Matthew Lemon <y@yulqen.org> | 2023-12-18 17:01:29 +0000 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2023-12-18 17:01:29 +0000 |
commit | 7483d6b8652854dbab53337b57467f69c7a2cad4 (patch) | |
tree | b0dac0a2fcc37567298d82e9325b346a8569a416 /spec/models/event_spec.rb | |
parent | c504e1e907ea68e3b777db5d286974010d2361c0 (diff) |
Adds some specs for testing events
Adds a method to Event to check its membership of a month in a
particular year.
Diffstat (limited to 'spec/models/event_spec.rb')
-rw-r--r-- | spec/models/event_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index adf288a..5815ec2 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -1,4 +1,5 @@ require 'rails_helper' +require 'date' RSpec.describe Event, type: :model do it "is invalid without a name" do @@ -11,5 +12,36 @@ RSpec.describe Event, type: :model do e = Event.new(date: nil, name: "Sludge") expect(e).to_not be_valid end + + it "is valid with valid attributes" do + d = Date.new(2023, 1, 1) + e = Event.new(date: d, name: "Slish") + expect(e).to be_valid + end + + it "is invalid with a name longer than 50 chars" do + d = Date.new(2023, 1, 1) + str = "a" * 51 + e = Event.new(date: d, name: str) + expect(e).to_not be_valid + end + end + + describe "events by month" do + it "knows it is a january 2024 event" do + d = Date.new(2024, 1, 10) + e = Event.new(date: d, name: "Nice January event") + expect(e.month_year_check(2024, 1) ).to eq(true) + end + it "knows it is a September 2028 event" do + d = Date.new(2028, 9, 10) + e = Event.new(date: d, name: "Nice September event") + expect(e.month_year_check(2028, 9) ).to eq(true) + end + it "knows it is not a September 2028 event" do + d = Date.new(2028, 10, 10) + e = Event.new(date: d, name: "Not a nice September event") + expect(e.month_year_check(2028, 9) ).to eq(false) + end end end |