Files
redline.com.pl/modules/ps_facetedsearch/tests/js/cldr/specifications/price.spec.js
2024-11-11 18:46:54 +01:00

173 lines
4.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*/
import {expect} from 'chai';
import PriceSpecification from '../../../../_dev/cldr/specifications/price';
import NumberSymbol from '../../../../_dev/cldr/number-symbol';
describe('PriceSpecification', () => {
let symbol;
beforeEach(() => {
symbol = new NumberSymbol(
'.',
',',
';',
'%',
'-',
'+',
'E',
'×',
'‰',
'∞',
'NaN',
);
});
describe('validateData', () => {
it('should throw if invalid positive pattern', () => {
expect(() => {
new PriceSpecification();
}).to.throw('Invalid positivePattern');
});
it('should throw if invalid negative pattern', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
);
}).to.throw('Invalid negativePattern');
});
it('should throw if invalid symbol', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
);
}).to.throw('Invalid symbol');
});
it('should throw if invalid maxFractionDigits', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
);
}).to.throw('Invalid maxFractionDigits');
});
it('should throw if invalid minFractionDigits', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
);
}).to.throw('Invalid minFractionDigits');
});
it('should throw if invalid groupingUsed', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
);
}).to.throw('Invalid groupingUsed');
});
it('should throw if invalid primaryGroupSize', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
false,
);
}).to.throw('Invalid primaryGroupSize');
});
it('should throw if invalid secondaryGroupSize', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
);
}).to.throw('Invalid secondaryGroupSize');
});
it('should throw if invalid currencySymbol', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
);
}).to.throw('Invalid currencySymbol');
});
it('should throw if invalid currencyCode', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
'$',
);
}).to.throw('Invalid currencyCode');
});
it('should not throw if everything is ok', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
'$',
'USD',
);
}).to.not.throw();
});
});
});