Skip to content

Commit

Permalink
test: update unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
anlyyao committed Aug 10, 2022
1 parent 106380b commit e26f124
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/loading/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ spline: message
isComponent: true
---

<span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20lines-95%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20functions-100%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20statements-95%25-blue" /></span><span class="coverages-badge" style="margin-right: 10px"><img src="https://img.shields.io/badge/coverages%3A%20branches-83%25-blue" /></span>
## 引入

全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
Expand Down
69 changes: 69 additions & 0 deletions src/loading/__test__/indx.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import simulate from 'miniprogram-simulate';
import path from 'path';

describe('loading', () => {
const loading = simulate.load(path.resolve(__dirname, `../loading`), {
rootPath: path.resolve(__dirname, `../../../src`),
less: true,
});

it(`loading :`, async () => {
const handleReload = jest.fn();
const id = simulate.load({
template: `
<t-loading
class="base"
theme="{{theme}}"
size="{{size}}"
loading="{{loading}}"
delay="{{delay}}"
bind:reload="handleReload"
></t-loading>
`,
data: {
theme: 'circular',
size: '44rpx',
loading: false,
delay: 0,
},
methods: {
handleReload,
},
usingComponents: {
't-loading': loading,
},
});

const comp = simulate.render(id);
comp.attach(document.createElement('parent-wrapper'));

await simulate.sleep(10);
comp.setData({ loading: true, delay: 0 });

await simulate.sleep(10);
comp.setData({ loading: true, delay: 1 });

// 样式检测断言
// 判断 indicator size是否按预期为20px
await simulate.sleep(10);
comp.setData({ size: '20px' });
const indicator = comp.querySelector('.base >>> .t-class-indicator ');
expect(window.getComputedStyle(indicator.dom).width).toBe('20px');

// 结构检测断言
// 判断 t-loading__bar 模块是否按预期不存在
await simulate.sleep(10);
comp.setData({ theme: 'error' });
expect(comp.data.theme).toBe('error');

const loadingBar = comp.querySelector('.base >>> .t-loading__bar');
expect(loadingBar).toBeUndefined();

const $refresh = comp.querySelector('.base >>> .t-loading__refresh-btn');
$refresh.dispatchEvent('tap');
await simulate.sleep(10);
expect(handleReload).toHaveBeenCalledTimes(1);

comp.detach();
});
});

0 comments on commit e26f124

Please sign in to comment.