1
0
mirror of https://github.com/bumi/openalias-ruby synced 2025-06-15 14:38:13 +00:00
openalias-ruby/spec/openalias_spec.rb
bumi cd337c42b1 Add Openalias.lookup as alias to Openalias.addresses
The rust implementation uses #addresses but I find #lookup a bit more
intuitive and descriptive.
2018-11-03 18:36:50 +01:00

38 lines
1.6 KiB
Ruby

require "spec_helper"
RSpec.describe Openalias do
it "has a version number" do
expect(Openalias::VERSION).not_to be nil
end
it "provides #lookup as an alias for #addresses" do
expect(Openalias).to respond_to(:lookup)
end
it "provides ? methods to check for the currency" do
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.xmr?).to eql(true)
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.btc?).to eql(false)
expect(Openalias.addresses('donate.getmonero.org').find(&:xmr?).xmr?).to eql(true)
expect(Openalias.addresses('donate.getmonero.org').find(&:xmr?).btc?).to eql(false)
end
it "provides accessors for the data" do
expect(Openalias.addresses('donate.getmonero.org')[0].recipient_name).to eql('Monero Development')
expect(Openalias.addresses('donate.getmonero.org').find { |c| c.cryptocurrency.downcase == 'xmr' }.address).to eql('44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A')
end
it "returns and crypto addresses array" do
expect(Openalias.addresses('donate.getmonero.org').class).to eql(Array)
expect(Openalias.addresses('donate.getmonero.org').length).to eql(2)
end
it "returns an empty array if no openalias data is found" do
expect(Openalias.addresses('wikipedia.org')).to eql([]) # I hope this one fails soon when wikipedia has some OpenAlias entries
end
it "returns an empty array for invalid domains" do
expect(Openalias.addresses('ihopethisdomainneverexists123invalid.com')).to eql([])
end
end