# frozen_string_literal: true require_relative 'helper' require 'query' describe Query do it 'builds a query hash' do _(Query.build(date: '2014-01-01')).must_be_kind_of Hash end it 'returns given amount' do query = Query.new(amount: '100') _(query.amount).must_equal 100.0 end it 'defaults amount to nothing' do query = Query.new _(query.amount).must_be_nil end it 'returns given base' do query = Query.new(base: 'USD') _(query.base).must_equal 'USD' end it 'upcases given base' do query = Query.new(base: 'usd') _(query.base).must_equal 'USD' end it 'defaults base to nothing' do query = Query.new _(query.base).must_be_nil end it 'aliases base with from' do query = Query.new(from: 'USD') _(query.base).must_equal 'USD' end it 'returns given symbols' do query = Query.new(symbols: 'USD,GBP') _(query.symbols).must_equal %w[USD GBP] end it 'upcases given symbols' do query = Query.new(symbols: 'usd,gbp') _(query.symbols).must_equal %w[USD GBP] end it 'aliases symbols with to' do query = Query.new(to: 'USD') _(query.symbols).must_equal ['USD'] end it 'defaults symbols to nothing' do query = Query.new _(query.symbols).must_be_nil end it 'returns given date' do date = '2014-01-01' query = Query.new(date: date) _(query.date).must_equal Date.parse(date) end it 'returns given date interval' do start_date = '2014-01-01' end_date = '2014-12-31' query = Query.new(start_date: start_date, end_date: end_date) _(query.date).must_equal((Date.parse(start_date)..Date.parse(end_date))) end end