|
162 | 162 | { |
163 | 163 | "amount": { |
164 | 164 | "usd": 649.0, |
165 | | - "gbp": 600.015454 |
| 165 | + "gbp": 500 |
166 | 166 | }, |
167 | 167 | "unit": "MONTHLY" |
| 168 | + }, |
| 169 | + { |
| 170 | + "amount": { |
| 171 | + "usd": 6.00, |
| 172 | + "gbp": 5.05 |
| 173 | + }, |
| 174 | + "unit": "daily" |
168 | 175 | } |
169 | 176 | ]}') |
170 | 177 |
|
|
174 | 181 | expect(result[:costs][0][:currency]).to eq('USD') |
175 | 182 | expect(result[:costs][0][:unit]).to eq('MONTHLY') |
176 | 183 |
|
177 | | - expect(result[:costs][1][:amount]).to eq(600.015454) |
| 184 | + expect(result[:costs][1][:amount]).to eq(500.0) |
178 | 185 | expect(result[:costs][1][:currency]).to eq('GBP') |
179 | 186 | expect(result[:costs][1][:unit]).to eq('MONTHLY') |
| 187 | + |
| 188 | + expect(result[:costs][2][:amount]).to eq(6.00) |
| 189 | + expect(result[:costs][2][:currency]).to eq('USD') |
| 190 | + expect(result[:costs][2][:unit]).to eq('daily') |
| 191 | + |
| 192 | + expect(result[:costs][3][:amount]).to eq(5.05) |
| 193 | + expect(result[:costs][3][:currency]).to eq('GBP') |
| 194 | + expect(result[:costs][3][:unit]).to eq('daily') |
180 | 195 | end |
181 | 196 |
|
182 | 197 | it 'handles currency symbols' do |
|
196 | 211 | expect(result[:costs][0][:currency]).to eq('$') |
197 | 212 | expect(result[:costs][0][:unit]).to eq('Daily') |
198 | 213 | end |
| 214 | + |
| 215 | + it 'skips when currency is empty string' do |
| 216 | + service_plan = |
| 217 | + VCAP::CloudController::ServicePlan.make(extra: '{"costs": [ |
| 218 | + { |
| 219 | + "amount": { |
| 220 | + "gpb": 0.06 |
| 221 | + }, |
| 222 | + "unit": "Daily" |
| 223 | + }, |
| 224 | + { |
| 225 | + "amount": { |
| 226 | + "": 0.06, |
| 227 | + "usd": 0.10 |
| 228 | + }, |
| 229 | + "unit": "Daily" |
| 230 | + } |
| 231 | + ]}') |
| 232 | + |
| 233 | + result = described_class.new(service_plan).to_hash.deep_symbolize_keys |
| 234 | + |
| 235 | + expect(result[:costs][0][:amount]).to eq(0.06) |
| 236 | + expect(result[:costs][0][:currency]).to eq('GPB') |
| 237 | + expect(result[:costs][0][:unit]).to eq('Daily') |
| 238 | + |
| 239 | + expect(result[:costs][1][:amount]).to eq(0.10) |
| 240 | + expect(result[:costs][1][:currency]).to eq('USD') |
| 241 | + expect(result[:costs][1][:unit]).to eq('Daily') |
| 242 | + end |
199 | 243 | end |
200 | 244 |
|
201 | 245 | context 'when plan has no cost' do |
|
0 commit comments