-
Notifications
You must be signed in to change notification settings - Fork 0
/
exchange_rate_spec.rb
110 lines (106 loc) · 3.7 KB
/
exchange_rate_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
require_relative '../spec_helper'
describe NBP::ExchangeRate do
describe 'class methods' do
subject(:exchange_rate) { described_class }
it { is_expected.to respond_to(:last_a) }
it { is_expected.to respond_to(:last_b) }
it { is_expected.to respond_to(:last_c) }
it { is_expected.to respond_to(:exchange_a) }
it { is_expected.to respond_to(:exchange_b) }
it { is_expected.to respond_to(:exchange_c) }
it { is_expected.to respond_to(:on_date) }
it { is_expected.to respond_to(:by_file) }
it { is_expected.to respond_to(:all_exchange_rates) }
let(:expected) do
[
{
'nazwa_kraju' => 'Hiszpania',
'symbol_waluty' => '101',
'nazwa_waluty' => 'HiszpaniaWaluta',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100' },
{
'nazwa_kraju' => 'USA',
'symbol_waluty' => '101',
'nazwa_waluty' => 'USAWaluta',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100' },
{
'nazwa_kraju' => 'Japonia',
'symbol_waluty' => '101',
'nazwa_waluty' => 'JaponiaWaluta',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100' }
]
end
it { expect(exchange_rate.all_exchange_rates(Date.parse('2013-01-10'))).to eq expected }
end
describe 'instance methods' do
let(:expected) do
{
'tabela_kursow' => {
'numer_tabeli' => '137/2013/BGK', 'data_notowania' => Date.parse('2013-07-16'),
'data_publikacji' => Date.parse('2013-07-17'), 'pozycja' => [{
'nazwa_kraju' => 'Kraje byłej RWPG',
'symbol_waluty' => '101',
'nazwa_waluty' => 'rb. transf.',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100'
}, {
'nazwa_kraju' => 'Albania',
'symbol_waluty' => '315',
'nazwa_waluty' => 'rb. clear. (Albania)',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100'
}, {
'nazwa_kraju' => 'Kambodża',
'symbol_waluty' => '317',
'nazwa_waluty' => 'rb. clear. (Kambodża)',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100'
}, {
'nazwa_kraju' => 'KRL-D',
'symbol_waluty' => '319',
'nazwa_waluty' => 'rb. clear. (KRL-D)',
'przelicznik' => '1',
'odnosnik' => nil,
'kurs_kupna' => '0,2090',
'kurs_sprzedazy' => '0,2110',
'kurs_sredni' => '0,2100'
}, {
'nazwa_kraju' => 'Pozostałe',
'symbol_waluty' => '0',
'nazwa_waluty' => 'USD clear.',
'przelicznik' => '1',
'odnosnik' => '*)',
'kurs_kupna' => '3,2571',
'kurs_sprzedazy' => '3,2899',
'kurs_sredni' => '3,2735'
}],
'@typ' => 'H',
'@uid' => '13h137'
}
}
end
subject { described_class.on_date(DateTime.parse('13-07-17'), table_name: 'h', table_number: '137') }
its(:fetch) { is_expected.to match expected }
end
end