mirror of
https://github.com/frappe/books.git
synced 2024-11-08 06:44:06 +00:00
test(ui): test instance setup
- fix auto complete choice on blur - fix button disabled
This commit is contained in:
parent
badae87edb
commit
64671e5625
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dbs
|
||||
/dist
|
||||
/notebook
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<button
|
||||
class="rounded-md flex justify-center items-center text-sm"
|
||||
:disabled="disabled"
|
||||
:class="_class"
|
||||
v-bind="$attrs"
|
||||
>
|
||||
|
@ -262,15 +262,15 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
if (label && this.suggestions.length === 0) {
|
||||
if (this.suggestions.length === 0) {
|
||||
this.triggerChange(label);
|
||||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
label &&
|
||||
!this.suggestions.map(({ label }) => label).includes(label)
|
||||
) {
|
||||
const suggestion = this.suggestions.find((s) => s.label === label);
|
||||
if (suggestion) {
|
||||
this.setSuggestion(suggestion);
|
||||
} else {
|
||||
const suggestions = await this.getSuggestions(label);
|
||||
this.setSuggestion(suggestions[0]);
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
"
|
||||
>
|
||||
<h6
|
||||
data-testid="company-name"
|
||||
class="
|
||||
font-semibold
|
||||
whitespace-nowrap
|
||||
|
@ -60,6 +60,7 @@
|
||||
<Button
|
||||
type="primary"
|
||||
class="w-24"
|
||||
data-testid="submit-button"
|
||||
:disabled="!areAllValuesFilled || loading"
|
||||
@click="submit"
|
||||
>{{ t`Submit` }}</Button
|
||||
|
@ -10,6 +10,7 @@ const appSourcePath = path.join(root, 'dist_electron', 'build', 'main.js');
|
||||
(async function run() {
|
||||
const electronApp = await _electron.launch({ args: [appSourcePath] });
|
||||
const window = await electronApp.firstWindow();
|
||||
window.setDefaultTimeout(10_000);
|
||||
|
||||
test('load app', async (t) => {
|
||||
t.equal(await window.title(), 'Frappe Books', 'title matches');
|
||||
@ -42,9 +43,43 @@ const appSourcePath = path.join(root, 'dist_electron', 'build', 'main.js');
|
||||
t.ok(await createNew.isVisible(), 'create new is visible');
|
||||
});
|
||||
|
||||
test('fill setup form', async (t) => {
|
||||
const filePath = path.join(root, 'dbs', 'books_uitest.db');
|
||||
await electronApp.evaluate(({ dialog }, filePath) => {
|
||||
dialog.showSaveDialog = () =>
|
||||
Promise.resolve({ canceled: false, filePath });
|
||||
}, filePath);
|
||||
await window.getByTestId('create-new-file').click();
|
||||
await window.getByTestId('submit-button').waitFor();
|
||||
|
||||
t.equal(
|
||||
await window.getByTestId('submit-button').isDisabled(),
|
||||
true,
|
||||
'submit button is disabled before form fill'
|
||||
);
|
||||
|
||||
await window.getByPlaceholder('Company Name').fill('Test Company');
|
||||
await window.getByPlaceholder('John Doe').fill('Test Owner');
|
||||
await window.getByPlaceholder('john@doe.com').fill('test@example.com');
|
||||
await window.getByPlaceholder('Select Country').fill('India');
|
||||
await window.getByPlaceholder('Select Country').blur();
|
||||
await window.getByPlaceholder('Prime Bank').fill('Test Bank');
|
||||
await window.getByPlaceholder('Prime Bank').blur();
|
||||
|
||||
t.equal(
|
||||
await window.getByTestId('submit-button').isDisabled(),
|
||||
false,
|
||||
'submit button enabled after form fill'
|
||||
);
|
||||
});
|
||||
|
||||
test('create new instance', async (t) => {
|
||||
// await window.getByTestId('create-new-file').click();
|
||||
t.ok(true, '...');
|
||||
await window.getByTestId('submit-button').click();
|
||||
t.equal(
|
||||
await window.getByTestId('company-name').innerText(),
|
||||
'Test Company',
|
||||
'new instance created, company name found in sidebar'
|
||||
);
|
||||
});
|
||||
|
||||
test('close app', async (t) => {
|
||||
|
Loading…
Reference in New Issue
Block a user