This commit is contained in:
konnorrogers
2024-05-07 19:42:50 -04:00
parent 1039d8e057
commit 1174200f20
20 changed files with 313 additions and 308 deletions

View File

@@ -206,43 +206,44 @@ describe('<wa-button>', () => {
expect(submitter.formNoValidate).to.be.true;
});
it("should only submit button name / value pair when the form is submitted", async () => {
const form = await fixture<HTMLFormElement>(html`<form>
<wa-button type="submit" name="btn-1" value="value-1">Button 1</wa-button>
<wa-button type="submit" name="btn-2" value="value-2">Button 2</wa-button>
</form>`);
it('should only submit button name / value pair when the form is submitted', async () => {
const form = await fixture<HTMLFormElement>(
html`<form>
<wa-button type="submit" name="btn-1" value="value-1">Button 1</wa-button>
<wa-button type="submit" name="btn-2" value="value-2">Button 2</wa-button>
</form>`
);
let formData = new FormData(form)
let submitter: null | HTMLButtonElement = document.createElement("button")
let formData = new FormData(form);
let submitter: null | HTMLButtonElement = document.createElement('button');
form.addEventListener('submit', e => {
e.preventDefault();
formData = new FormData(form);
submitter = e.submitter as HTMLButtonElement;
});
form.addEventListener("submit", (e) => {
e.preventDefault()
formData = new FormData(form)
submitter = e.submitter as HTMLButtonElement
})
expect(formData.get('btn-1')).to.be.null;
expect(formData.get('btn-2')).to.be.null;
expect(formData.get("btn-1")).to.be.null
expect(formData.get("btn-2")).to.be.null
form.querySelector('wa-button')?.click();
await aTimeout(0);
form.querySelector("wa-button")?.click()
await aTimeout(0)
expect(formData.get('btn-1')).to.be.null;
expect(formData.get('btn-2')).to.be.null;
expect(formData.get("btn-1")).to.be.null
expect(formData.get("btn-2")).to.be.null
expect(submitter.name).to.equal('btn-1');
expect(submitter.value).to.equal('value-1');
expect(submitter.name).to.equal("btn-1")
expect(submitter.value).to.equal("value-1")
form.querySelectorAll('wa-button')[1]?.click();
await aTimeout(0);
form.querySelectorAll("wa-button")[1]?.click()
await aTimeout(0)
expect(formData.get('btn-1')).to.be.null;
expect(formData.get('btn-2')).to.be.null;
expect(formData.get("btn-1")).to.be.null
expect(formData.get("btn-2")).to.be.null
expect(submitter.name).to.equal("btn-2")
expect(submitter.value).to.equal("value-2")
})
expect(submitter.name).to.equal('btn-2');
expect(submitter.value).to.equal('value-2');
});
});
describe('when using methods', () => {