feat: 增加对多个国家的支持并更新相关测试用例
This commit is contained in:
@@ -176,7 +176,7 @@ return {
|
||||
assert.deepStrictEqual(api.normalizePersistentSettingValue('phoneSmsProviderOrder', ['nexsms', '5sim', 'nexsms']), ['nexsms', '5sim']);
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimApiKey', ' demo-five '), ' demo-five ');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimProduct', ' OpenAI! '), 'openai');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimCountryId', ' England! '), 'vietnam');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimCountryId', ' England! '), 'england');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimCountryId', ''), 'vietnam');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimCountryLabel', ''), '越南 (Vietnam)');
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimMaxPrice', '9.87654'), '9.8765');
|
||||
@@ -184,11 +184,11 @@ return {
|
||||
assert.equal(api.normalizePersistentSettingValue('fiveSimOperator', ''), 'any');
|
||||
assert.deepStrictEqual(
|
||||
api.normalizePersistentSettingValue('fiveSimCountryFallback', [{ id: 'usa', label: 'USA' }, 'thailand:Thailand']),
|
||||
[{ id: 'thailand', label: 'Thailand' }]
|
||||
[{ id: 'usa', label: 'USA' }, { id: 'thailand', label: 'Thailand' }]
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
api.normalizePersistentSettingValue('heroSmsCountryFallback', [{ id: 16, label: 'United Kingdom' }, { id: 52 }]),
|
||||
[{ id: 52, label: 'Country #52' }]
|
||||
[{ id: 16, label: 'United Kingdom' }, { id: 52, label: 'Country #52' }]
|
||||
);
|
||||
assert.equal(
|
||||
api.normalizePersistentSettingValue('accountRunHistoryHelperBaseUrl', 'http://127.0.0.1:17373/append-account-log'),
|
||||
|
||||
@@ -55,12 +55,17 @@ test('5sim provider maps countries and prices', async () => {
|
||||
const prices = await provider.fetchPrices({}, { id: 'vietnam', label: 'Vietnam' });
|
||||
const entries = provider.collectPriceEntries(prices, []);
|
||||
|
||||
assert.deepStrictEqual(countries.map((country) => country.id), ['indonesia', 'thailand', 'vietnam']);
|
||||
assert.deepStrictEqual(countries[2], {
|
||||
id: 'vietnam',
|
||||
label: '越南 (Vietnam)',
|
||||
searchText: 'vietnam 越南 (Vietnam) Vietnam VN +84',
|
||||
});
|
||||
assert.equal(countries.length, 4);
|
||||
assert.equal(countries.some((country) => country.id === 'england'), true);
|
||||
assert.equal(countries.some((country) => country.id === 'indonesia'), true);
|
||||
assert.deepStrictEqual(
|
||||
countries.find((country) => country.id === 'vietnam'),
|
||||
{
|
||||
id: 'vietnam',
|
||||
label: '越南 (Vietnam)',
|
||||
searchText: 'vietnam 越南 (Vietnam) Vietnam VN +84',
|
||||
}
|
||||
);
|
||||
assert.equal(requests[1].url.searchParams.get('country'), 'vietnam');
|
||||
assert.equal(requests[1].url.searchParams.get('product'), 'openai');
|
||||
assert.deepStrictEqual(entries, [{ cost: 10, count: 2, inStock: true }]);
|
||||
@@ -283,4 +288,3 @@ test('5sim provider reports purchase rate limit separately from no-number countr
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -144,6 +144,21 @@ return { btnHeroSmsCountryMenu, updateHeroSmsCountryMenuSummary };
|
||||
assert.equal(api.btnHeroSmsCountryMenu.textContent, '\u672a\u9009\u62e9 (0/3)');
|
||||
});
|
||||
|
||||
test('live phone country sources are not hard-filtered down to the reduced country whitelist', () => {
|
||||
assert.doesNotMatch(
|
||||
sidepanelSource,
|
||||
/\.filter\(\(entry\) => entry\.id && FIVE_SIM_SUPPORTED_COUNTRY_ID_SET\.has\(String\(entry\.id\)\)\)/
|
||||
);
|
||||
assert.doesNotMatch(
|
||||
sidepanelSource,
|
||||
/\.filter\(\(item\) => HERO_SMS_SUPPORTED_COUNTRY_ID_SET\.has\(String\(Math\.floor\(Number\(item\?\.id\)\)\)\)/
|
||||
);
|
||||
assert.doesNotMatch(
|
||||
sidepanelSource,
|
||||
/\.filter\(\(entry\) => FIVE_SIM_SUPPORTED_COUNTRY_ID_SET\.has\(entry\.code \|\| entry\.id\)\)/
|
||||
);
|
||||
});
|
||||
|
||||
test('removeHeroSmsCountryFromOrder clears the selected country and triggers a silent save', async () => {
|
||||
const api = new Function(`
|
||||
let heroSmsCountrySelectionOrder = [52, 6];
|
||||
|
||||
Reference in New Issue
Block a user