Валюта VPS берётся из baseCurrency хостера, ставки — из тарифных планов с fallback и parsePlanCost. На списке VPS цены в валюте провайдера. Расширен parseTariffPrice для форматов UserAPI. Добавлены фильтры на странице тарифов. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,12 +2,42 @@ import { describe, expect, it } from 'vitest'
|
||||
import { parseTariffPrice } from '@cfdm/db/repositories/tariffs'
|
||||
|
||||
describe('parseTariffPrice', () => {
|
||||
it('parses amount and currency', () => {
|
||||
expect(parseTariffPrice('100.50 RUB')).toEqual({ monthlyRate: 100.5, currency: 'RUB' })
|
||||
expect(parseTariffPrice('12 USD')).toEqual({ monthlyRate: 12, currency: 'USD' })
|
||||
it('parses BILLmanager monthly amount and currency', () => {
|
||||
expect(parseTariffPrice('100.50 RUB')).toEqual({
|
||||
amount: 100.5,
|
||||
monthlyRate: 100.5,
|
||||
currency: 'RUB',
|
||||
period: 'month',
|
||||
})
|
||||
expect(parseTariffPrice('12 USD')).toEqual({
|
||||
amount: 12,
|
||||
monthlyRate: 12,
|
||||
currency: 'USD',
|
||||
period: 'month',
|
||||
})
|
||||
})
|
||||
|
||||
it('parses UserAPI daily formats', () => {
|
||||
expect(parseTariffPrice('1.55 USD/day')).toEqual({
|
||||
amount: 1.55,
|
||||
monthlyRate: 46.5,
|
||||
currency: 'USD',
|
||||
period: 'day',
|
||||
})
|
||||
expect(parseTariffPrice('1.55 ₽/день')).toEqual({
|
||||
amount: 1.55,
|
||||
monthlyRate: 46.5,
|
||||
currency: 'RUB',
|
||||
period: 'day',
|
||||
})
|
||||
})
|
||||
|
||||
it('handles empty', () => {
|
||||
expect(parseTariffPrice('')).toEqual({ monthlyRate: null, currency: null })
|
||||
expect(parseTariffPrice('')).toEqual({
|
||||
amount: null,
|
||||
monthlyRate: null,
|
||||
currency: null,
|
||||
period: null,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user