88 lines
2.2 KiB
JavaScript
88 lines
2.2 KiB
JavaScript
import { mount } from '../../../test';
|
||
import Sku from '..';
|
||
import { getSkuData, initialSku } from '../demo/data';
|
||
import { stringToDate, dateToString } from '../utils/time-helper';
|
||
|
||
const skuData = getSkuData();
|
||
|
||
test('resetSelectedSku method', () => {
|
||
skuData.sku.messages = [];
|
||
|
||
const wrapper = mount(Sku, {
|
||
propsData: {
|
||
value: true,
|
||
initialSku,
|
||
sku: skuData.sku,
|
||
quota: skuData.quota,
|
||
goods: skuData.goods_info,
|
||
goodsId: skuData.goods_id,
|
||
quotaUsed: skuData.quota_used,
|
||
hideStock: skuData.sku.hide_stock,
|
||
startSaleNum: skuData.start_sale_num,
|
||
},
|
||
});
|
||
|
||
wrapper.find('.van-button--danger').trigger('click');
|
||
expect(wrapper.emitted('buy-clicked').length).toEqual(1);
|
||
|
||
wrapper.setProps({ initialSku: {} });
|
||
wrapper.vm.resetSelectedSku();
|
||
|
||
wrapper.find('.van-button--danger').trigger('click');
|
||
expect(wrapper.emitted('buy-clicked').length).toEqual(1);
|
||
});
|
||
|
||
test('message formatter', () => {
|
||
const skuData = getSkuData();
|
||
|
||
skuData.sku.messages = skuData.sku.messages.filter(
|
||
message => message.type === 'tel'
|
||
);
|
||
|
||
const wrapper = mount(Sku, {
|
||
propsData: {
|
||
value: true,
|
||
initialSku,
|
||
sku: skuData.sku,
|
||
quota: skuData.quota,
|
||
goods: skuData.goods_info,
|
||
goodsId: skuData.goods_id,
|
||
quotaUsed: skuData.quota_used,
|
||
hideStock: skuData.sku.hide_stock,
|
||
startSaleNum: skuData.start_sale_num,
|
||
},
|
||
});
|
||
|
||
const input = wrapper.find('input');
|
||
const correctValue = '15000000000';
|
||
|
||
// \u202c
|
||
input.element.value = '15000000000';
|
||
input.trigger('input');
|
||
|
||
expect(input.element.value).toEqual(correctValue);
|
||
|
||
// \u0020
|
||
input.element.value = '150 0000 0000';
|
||
input.trigger('input');
|
||
|
||
expect(input.element.value).toEqual(correctValue);
|
||
|
||
// /[a-zA-z]/
|
||
input.element.value = 'a-zA-z';
|
||
input.trigger('input');
|
||
|
||
expect(input.element.value).toEqual('');
|
||
});
|
||
|
||
test('stringToDate', () => {
|
||
expect(dateToString(stringToDate(''))).toEqual('');
|
||
expect(dateToString(stringToDate('2020-07-01'))).toEqual('2020-07-01');
|
||
expect(dateToString(stringToDate('2020-07-01 22:44'), 'datetime')).toEqual(
|
||
'2020-07-01 22:44'
|
||
);
|
||
expect(dateToString(stringToDate('2020-12-31 23:59'), 'datetime')).toEqual(
|
||
'2020-12-31 23:59'
|
||
);
|
||
});
|