-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dressca-Admin]フロントエンドの自動テストサンプルを拡充する #1483
Comments
同じviewに対して、
HTML要素についてはidを振るのが一つの方法だが、どのようなidを振るかを検討すべき。 describe('アイテム編集画面_アイテム削除機能のテスト', () => {
it('アイテムを削除できる', async () => {
const pinia = createPinia();
setActivePinia(pinia);
const customErrorHandler = createCustomErrorHandler();
router.push({ name: 'catalog/items/edit', params: { itemId: 1 } });
await router.isReady();
const wrapper = mount(ItemsEditView, {
global: { plugins: [pinia, router, customErrorHandler] },
});
await flushPromises();
expect(wrapper.html()).toContain('カタログアイテム編集');
await wrapper.findAll('button')[0].trigger('click'); // ここがイマイチ
expect(wrapper.html()).toContain('カタログアイテムを削除します。');
await wrapper
.findAllComponents({ name: 'ConfirmationModal' })[0] // ここがイマイチ
.findAll('button')[0] // ここがイマイチ
.trigger('click');
await flushPromises();
expect(
wrapper.findAllComponents({ name: 'ConfirmationModal' })[0].isVisible(),
).toBeFalsy();
expect(wrapper.html()).toContain('カタログアイテムを削除しました。');
await wrapper
.findAllComponents({ name: 'NotificationModal' })[0]
.findAll('button')[0]
.trigger('click');
expect(
wrapper.findAllComponents({ name: 'NotificationModal' })[0].isVisible(),
).toBeFalsy();
});
}); |
サンプルを見る限り、Componentについても、data-testを指定できる。 |
自動テストにおけるモックの使用方針
自動結合テストでMSWを用いることが過剰である理由は、 Vitestのモックを用いてエラーのレスポンスを表現する方法が要調査。 |
概要
DressacaのAdminについて、フロントエンドの自動テストサンプルを拡充する。
2025/1/24 時点
v 1.0 時点で下記のケースが実装されている。
拡充したい内容
完了条件
ここにこの Issue の完了条件を箇条書きで記載します。
The text was updated successfully, but these errors were encountered: