Sha256: de9bfd0d24aa14f449fb4d328daf3151953eea5395afb3879e8329f71842ff11

Contents?: true

Size: 817 Bytes

Versions: 11

Compression:

Stored size: 817 Bytes

Contents

require "spec_helper"

RSpec.describe SmsAero::Types::Future do
  subject { described_class[source] }

  context "time in future:" do
    let(:source) { Time.now + 3600 }

    it "returns UNIX time in seconds" do
      expect(subject).to eq source.to_i
    end
  end

  context "parseable string for time in future:" do
    let(:time)   { Time.now + 3600 }
    let(:source) { time.strftime "%Y-%m-%d %H:%M:%S" }

    it "returns UNIX time in seconds" do
      expect(subject).to eq time.to_i
    end
  end

  context "time in the past:" do
    let(:source) { Time.now - 3600 }

    it "fails" do
      expect { subject }.to raise_error(TypeError)
    end
  end

  context "not a time:" do
    let(:source) { "foobar" }

    it "fails" do
      expect { subject }.to raise_error(TypeError, /foobar/)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
sms_aero-0.0.11 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.10 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.9 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.8 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.7 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.6 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.5 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.4 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.3 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.2 spec/sms_aero/types/future_spec.rb
sms_aero-0.0.1 spec/sms_aero/types/future_spec.rb