Sha256: 7b55d6c2e76ce62c3e39bb8e4d03afbbddb281820f3ba0c181c6ff2cf51b076a
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
require 'spec_helper' describe PunchingBag do let(:article) { Article.create title: 'Hector', content: 'Ding, ding ding... ding. Ding. DING. DING! ' } let(:human_request) { OpenStruct.new(bot?: false) } let(:bot_request) { OpenStruct.new(bot?: true) } subject { PunchingBag } describe '.punch' do it 'does nothing when the request is from a bot' do expect(PunchingBag.punch(article, bot_request)).to be_false end it 'creates a new punch when the request is valid' do expect { PunchingBag.punch(article, human_request) }.to change { Punch.count }.by 1 end it 'creates a new punch when there is no request' do expect { PunchingBag.punch(article) }.to change { Punch.count }.by 1 end end describe '.average_time' do let(:time) { Time.zone.now.beginning_of_day } let(:punch_1) { Punch.new(average_time: time + 15.seconds, hits: 2) } let(:punch_2) { Punch.new(average_time: time + 30.seconds, hits: 4) } it 'finds an average time for multiple punches' do expect(PunchingBag.average_time(punch_1, punch_2)).to eql (time + 25.seconds) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
punching_bag-0.3.6 | spec/lib/punching_bag_spec.rb |
punching_bag-0.3.5 | spec/lib/punching_bag_spec.rb |