Rspecで検証しようとした件で
Q&A
Closed
実際に書いたテストコード
it '一日一回のみ投稿が可能' do
tweet.tweet = user.tweets.length > 0 && user.tweets.last.created_at.day == Date.today.day && user.tweets.last.created_at.month == Date.today.month && user.tweets.last.created_at.year == Date.today.year
is_expected.to eq true
end
it '投稿は七回まで' do
user.tweets.count == 7
is_expected.to eq true
end
Tweet.rb
validate :tweets_count_must_be_within_limit
validate :tweets_count_one_day_limit
def tweets_count_must_be_within_limit
errors.add(:base, "投稿は七回までです") if user.tweets.count >= 7
end
def tweets_count_one_day_limit
errors.add(:base, "本日は投稿できません") if user.tweets.length > 0 && user.tweets.last.created_at.day == Date.today.day && user.tweets.last.created_at.month == Date.today.month && user.tweets.last.created_at.year == Date.today.year
end
Rspecでテストを行おうとしています。
投稿制限をかけていて、
一日に一回のみ投稿が可能
投稿できる回数は七回まで
についてテストを行うため、一番上のようなコードを作りました。
実際に bundle exec rspec してみるとテストは成功するのですが、正しい挙動をしていると思えません。
Rspecについては学習を始めたばかりで、あまりよく理解できていません。
0