update frontend lib : leaflet + oruga - #1815

This commit is contained in:
Laurent GAY
2025-10-24 17:40:29 +02:00
committed by setop
parent b5852a95eb
commit 58a1d857a1
75 changed files with 944 additions and 1076 deletions

View File

@@ -86,7 +86,7 @@ describe("Reset page", () => {
wrapper
.findAll('input[type="password"')
.forEach((inputField) => inputField.setValue("my password"));
wrapper.find("form").trigger("submit");
await wrapper.find("form").trigger("submit");
await wrapper.vm.$nextTick();

View File

@@ -105,7 +105,7 @@ describe("Register page", () => {
});
await flushPromises();
expect(wrapper.find("form").exists()).toBe(true);
expect(wrapper.find(".o-field__message-danger").text()).toContain(
expect(wrapper.find(".o-field__message--danger").text()).toContain(
"Bad email."
);
});
@@ -130,7 +130,7 @@ describe("Register page", () => {
});
await flushPromises();
expect(wrapper.find("form").exists()).toBe(true);
expect(wrapper.find(".o-field__message-danger").text()).toContain(
expect(wrapper.find(".o-field__message--danger").text()).toContain(
"Bad password."
);
});
@@ -143,7 +143,7 @@ describe("Register page", () => {
expect(wrapper.find("form").exists()).toBe(true);
wrapper.find('form input[type="email"]').setValue("some@email.tld");
wrapper.find('form input[type="password"]').setValue("somepassword");
wrapper.find("form .o-input__textarea").setValue("text for moderation");
wrapper.find("form textarea").setValue("text for moderation");
wrapper.find("form").trigger("submit");
await wrapper.vm.$nextTick();
expect(requestHandlers.createUserHandler).toHaveBeenCalledWith({
@@ -166,7 +166,7 @@ describe("Register page", () => {
expect(wrapper.find("form").exists()).toBe(true);
wrapper.find('form input[type="email"]').setValue("some@email.tld");
wrapper.find('form input[type="password"]').setValue("somepassword");
wrapper.find("form .o-input__textarea").setValue("text for moderation");
wrapper.find("form textarea").setValue("text for moderation");
wrapper.find("form").trigger("submit");
await wrapper.vm.$nextTick();
expect(requestHandlers.createUserHandler).toBeCalledTimes(1);
@@ -178,7 +178,7 @@ describe("Register page", () => {
});
await flushPromises();
expect(wrapper.find("form").exists()).toBe(true);
expect(wrapper.find(".o-field__message-danger").text()).toContain(
expect(wrapper.find(".o-field__message--danger").text()).toContain(
"Bad moderation."
);
});

View File

@@ -35,50 +35,38 @@ exports[`Register page > register with moderation 1`] = `
<!---->
</div>
<form>
<div data-oruga="field" class="o-field"><label for="email" class="o-field__label">Email</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded"><input aria-required="true" required="" id="email" data-oruga-input="email" type="email" class="o-input" autocomplete="off">
<!---->
<!---->
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0-2" for="email" class="o-field__label">Email</label>
<div data-oruga="input" class="o-input o-input--expanded">
<!----><input aria-labelledby="v-0-2" aria-required="true" required="" id="email" type="email" data-oruga-input="email" class="o-input__input o-input__input--placeholder" autocomplete="off">
<!---->
<!---->
</div>
<!---->
</div>
<div data-oruga="field" class="o-field"><label for="password" class="o-field__label">Password</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded o-input__wrapper--has-icon-right"><input aria-required="true" required="" minlength="6" id="password" data-oruga-input="password" type="password" class="o-input o-input--iconspace-right" autocomplete="off">
<!----><span class="o-icon o-icon--clickable o-input__icon-right" data-oruga="icon"><i class="mdi mdi-eye mdi-24px"></i></span>
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0-4" for="password" class="o-field__label">Password</label>
<div data-oruga="input" class="o-input o-input--expanded o-input--icon-right">
<!----><input aria-labelledby="v-0-4" aria-required="true" required="" minlength="6" id="password" type="password" data-oruga-input="password" class="o-input__input o-input__input--iconspace-right o-input__input--placeholder" autocomplete="off"><span data-oruga="icon" class="o-icon o-icon--clickable o-input__icon-right" tabindex="0" role="button"><i class="mdi mdi-eye mdi-24px"></i></span>
<!---->
</div>
<!---->
</div>
<div data-oruga="field" class="o-field"><label for="moderation" class="o-field__label">Registration is subject to moderation, indicate your motivation.</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded"><textarea aria-required="true" required="" id="moderation" data-oruga-input="textarea" class="o-input o-input__textarea"></textarea>
<!---->
<!---->
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0-6" for="moderation" class="o-field__label">Registration is subject to moderation, indicate your motivation.</label>
<div data-oruga="input" class="o-input o-input--expanded o-input--textarea">
<!----><textarea aria-labelledby="v-0-6" aria-required="true" required="" id="moderation" data-oruga-input="textarea" class="o-input__input o-input__input--placeholder"></textarea>
<!---->
<!---->
</div>
<!---->
</div>
<div class="flex items-start mb-6 mt-2">
<div class="flex items-center h-5"><input type="checkbox" id="accept_rules_terms" class="w-4 h-4 bg-gray-50 rounded border border-gray-300 focus:ring-3 focus:ring-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:focus:ring-blue-600 dark:ring-offset-gray-800" required=""></div><label for="accept_rules_terms" class="ml-2 text-gray-900 dark:text-gray-300"><span>I agree to the <router-link-stub to="[object Object]" replace="false" custom="false" ariacurrentvalue="page" viewtransition="false" class="out"></router-link-stub> and <router-link-stub to="[object Object]" replace="false" custom="false" ariacurrentvalue="page" viewtransition="false" class="out"></router-link-stub></span></label>
</div>
<p><button type="submit" class="o-btn o-btn--large o-btn--primary" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Create an account</span>
<p><button data-oruga="button" type="submit" role="button" tabindex="0" class="o-button o-button--large o-button--primary"><span class="o-button__wrapper"><!----><span class="o-button__label">Create an account</span>
<!----></span>
</button></p>
<p class="my-6">
<router-link-stub class="o-btn o-btn--text" role="button" data-oruga="button" to="[object Object]"></router-link-stub>
<router-link-stub class="o-btn o-btn--text" role="button" data-oruga="button" to="[object Object]"></router-link-stub>
<router-link-stub data-oruga="button" role="button" tabindex="0" class="o-button o-button--text" to="[object Object]"></router-link-stub>
<router-link-stub data-oruga="button" role="button" tabindex="0" class="o-button o-button--text" to="[object Object]"></router-link-stub>
</p>
<hr role="presentation">
<!--v-if-->
@@ -123,26 +111,18 @@ exports[`Register page > register without moderation 1`] = `
<!---->
</div>
<form>
<div data-oruga="field" class="o-field"><label for="email" class="o-field__label">Email</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded"><input aria-required="true" required="" id="email" data-oruga-input="email" type="email" class="o-input" autocomplete="off">
<!---->
<!---->
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0-2" for="email" class="o-field__label">Email</label>
<div data-oruga="input" class="o-input o-input--expanded">
<!----><input aria-labelledby="v-0-2" aria-required="true" required="" id="email" type="email" data-oruga-input="email" class="o-input__input o-input__input--placeholder" autocomplete="off">
<!---->
<!---->
</div>
<!---->
</div>
<div data-oruga="field" class="o-field"><label for="password" class="o-field__label">Password</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded o-input__wrapper--has-icon-right"><input aria-required="true" required="" minlength="6" id="password" data-oruga-input="password" type="password" class="o-input o-input--iconspace-right" autocomplete="off">
<!----><span class="o-icon o-icon--clickable o-input__icon-right" data-oruga="icon"><i class="mdi mdi-eye mdi-24px"></i></span>
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0-4" for="password" class="o-field__label">Password</label>
<div data-oruga="input" class="o-input o-input--expanded o-input--icon-right">
<!----><input aria-labelledby="v-0-4" aria-required="true" required="" minlength="6" id="password" type="password" data-oruga-input="password" class="o-input__input o-input__input--iconspace-right o-input__input--placeholder" autocomplete="off"><span data-oruga="icon" class="o-icon o-icon--clickable o-input__icon-right" tabindex="0" role="button"><i class="mdi mdi-eye mdi-24px"></i></span>
<!---->
</div>
<!---->
</div>
@@ -150,12 +130,12 @@ exports[`Register page > register without moderation 1`] = `
<div class="flex items-start mb-6 mt-2">
<div class="flex items-center h-5"><input type="checkbox" id="accept_rules_terms" class="w-4 h-4 bg-gray-50 rounded border border-gray-300 focus:ring-3 focus:ring-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:focus:ring-blue-600 dark:ring-offset-gray-800" required=""></div><label for="accept_rules_terms" class="ml-2 text-gray-900 dark:text-gray-300"><span>I agree to the <router-link-stub to="[object Object]" replace="false" custom="false" ariacurrentvalue="page" viewtransition="false" class="out"></router-link-stub> and <router-link-stub to="[object Object]" replace="false" custom="false" ariacurrentvalue="page" viewtransition="false" class="out"></router-link-stub></span></label>
</div>
<p><button type="submit" class="o-btn o-btn--large o-btn--primary" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Create an account</span>
<p><button data-oruga="button" type="submit" role="button" tabindex="0" class="o-button o-button--large o-button--primary"><span class="o-button__wrapper"><!----><span class="o-button__label">Create an account</span>
<!----></span>
</button></p>
<p class="my-6">
<router-link-stub class="o-btn o-btn--text" role="button" data-oruga="button" to="[object Object]"></router-link-stub>
<router-link-stub class="o-btn o-btn--text" role="button" data-oruga="button" to="[object Object]"></router-link-stub>
<router-link-stub data-oruga="button" role="button" tabindex="0" class="o-button o-button--text" to="[object Object]"></router-link-stub>
<router-link-stub data-oruga="button" role="button" tabindex="0" class="o-button o-button--text" to="[object Object]"></router-link-stub>
</p>
<hr role="presentation">
<!--v-if-->

View File

@@ -5,21 +5,17 @@ exports[`ResendConfirmation > Show simple 1`] = `
<h1>Resend confirmation email</h1>
<!--v-if-->
<form>
<div data-oruga="field" class="o-field"><label for="emailAddress" class="o-field__label">Email address</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded"><input aria-required="true" required="" id="emailAddress" data-oruga-input="email" type="email" class="o-input" autocomplete="off">
<!---->
<!---->
<!---->
</div>
</div>
<div data-oruga="field" class="o-field"><label id="v-0" for="emailAddress" class="o-field__label">Email address</label>
<div data-oruga="input" class="o-input o-input--expanded">
<!----><input aria-labelledby="v-0" aria-required="true" required="" id="emailAddress" type="email" data-oruga-input="email" class="o-input__input o-input__input--placeholder" autocomplete="off">
<!---->
<!---->
</div>
<!---->
</div>
<p class="flex flex-wrap gap-1 mt-2"><button type="submit" class="o-btn o-btn--primary" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Send the confirmation email again</span>
<p class="flex flex-wrap gap-1 mt-2"><button data-oruga="button" type="submit" role="button" tabindex="0" class="o-button o-button--primary"><span class="o-button__wrapper"><!----><span class="o-button__label">Send the confirmation email again</span>
<!----></span>
</button><a href="/login" class="o-btn o-btn--primary o-btn--outlined-primary" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Cancel</span>
</button><a href="/login" class="o-button o-button--outlined-primary" data-oruga="button" role="button" tabindex="0"><span class="o-button__wrapper"><!----><span class="o-button__label">Cancel</span>
<!----></span>
</a></p>
</form>
@@ -32,7 +28,7 @@ exports[`ResendConfirmation > Show simple 2`] = `
<!--v-if-->
<div>
<transition-stub name="fade" appear="false" persisted="false" css="true">
<article title="Success" class="o-notification o-notification--success o-notification--top" data-oruga="notification">
<article closable="false" title="Success" data-oruga="notification" class="o-notification o-notification--success o-notification--top">
<!---->
<div class="o-notification__wrapper">
<!---->

View File

@@ -5,21 +5,17 @@ exports[`SendPasswordReset > Show simple 1`] = `
<h1>Forgot your password?</h1>
<p>Enter your email address below, and we'll email you instructions on how to change your password.</p>
<form>
<div data-oruga="field" class="o-field o-field--filled"><label class="o-field__label" for="">Email address</label>
<div class="o-field__body">
<div class="o-field o-field--addons">
<div data-oruga="input" class="o-input__wrapper o-input__wrapper--expanded"><input aria-required="true" required="" id="" data-oruga-input="email" type="email" class="o-input" autocomplete="off">
<!---->
<!---->
<!---->
</div>
</div>
<div data-oruga="field" class="o-field o-field--filled"><label id="v-0" class="o-field__label" for="v-2">Email address</label>
<div data-oruga="input" class="o-input o-input--expanded">
<!----><input aria-labelledby="v-0" aria-required="true" required="" id="v-2" type="email" data-oruga-input="email" class="o-input__input" autocomplete="off">
<!---->
<!---->
</div>
<!---->
</div>
<p class="my-4 flex gap-2"><button type="submit" class="o-btn o-btn--primary" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Submit</span>
<p class="my-4 flex gap-2"><button data-oruga="button" type="submit" role="button" tabindex="0" class="o-button o-button--primary"><span class="o-button__wrapper"><!----><span class="o-button__label">Submit</span>
<!----></span>
</button><a href="/login" class="o-btn o-btn--text" role="button" data-oruga="button"><span class="o-btn__wrapper"><!----><span class="o-btn__label">Cancel</span>
</button><a href="/login" class="o-button o-button--text" data-oruga="button" role="button" tabindex="0"><span class="o-button__wrapper"><!----><span class="o-button__label">Cancel</span>
<!----></span>
</a></p>
</form>
@@ -32,7 +28,7 @@ exports[`SendPasswordReset > Show simple 2`] = `
<p>Enter your email address below, and we'll email you instructions on how to change your password.</p>
<div>
<transition-stub name="fade" appear="false" persisted="false" css="true">
<article class="my-2 o-notification o-notification--success o-notification--top" title="Success" data-oruga="notification">
<article class="my-2 o-notification o-notification--success o-notification--top" closable="false" title="Success" data-oruga="notification">
<!---->
<div class="o-notification__wrapper">
<!---->

View File

@@ -3,10 +3,10 @@
exports[`SettingsOnboard > Show simple - step 1 1`] = `
"<div data-v-68ff875c="" class="container mx-auto">
<h1 data-v-68ff875c="" class="title">Let's define a few settings</h1>
<o-steps-stub data-v-68ff875c="" modelvalue="0" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" destroyonhide="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true"></o-steps-stub>
<o-steps-stub data-v-68ff875c="" modelvalue="0" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" activateonfocus="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true" arianextlabel="Next" ariapreviouslabel="Previous"></o-steps-stub>
<section data-v-68ff875c="" class="has-text-centered section buttons">
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="true" outlined="true" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="true" outlined="true" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
<!--v-if-->
</section>
</div>"
@@ -15,10 +15,10 @@ exports[`SettingsOnboard > Show simple - step 1 1`] = `
exports[`SettingsOnboard > Show simple - step 2 1`] = `
"<div data-v-68ff875c="" class="container mx-auto">
<h1 data-v-68ff875c="" class="title">Let's define a few settings</h1>
<o-steps-stub data-v-68ff875c="" modelvalue="1" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" destroyonhide="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true"></o-steps-stub>
<o-steps-stub data-v-68ff875c="" modelvalue="1" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" activateonfocus="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true" arianextlabel="Next" ariapreviouslabel="Previous"></o-steps-stub>
<section data-v-68ff875c="" class="has-text-centered section buttons">
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
<!--v-if-->
</section>
</div>"
@@ -27,11 +27,11 @@ exports[`SettingsOnboard > Show simple - step 2 1`] = `
exports[`SettingsOnboard > Show simple - step 3 1`] = `
"<div data-v-68ff875c="" class="container mx-auto">
<h1 data-v-68ff875c="" class="title">Let's define a few settings</h1>
<o-steps-stub data-v-68ff875c="" modelvalue="2" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" destroyonhide="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true"></o-steps-stub>
<o-steps-stub data-v-68ff875c="" modelvalue="2" vertical="false" iconprev="chevron-left" iconnext="chevron-right" hasnavigation="false" activateonfocus="false" animated="true" animation="slide-next,slide-prev,slide-down,slide-up" animateinitially="false" labelposition="bottom" rounded="true" arianextlabel="Next" ariapreviouslabel="Previous"></o-steps-stub>
<section data-v-68ff875c="" class="has-text-centered section buttons">
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" rounded="false" expanded="false" disabled="false" outlined="true" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
<!--v-if-->
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" size="big" rounded="false" expanded="false" disabled="false" outlined="false" loading="false" inverted="false" nativetype="button" role="button" iconboth="false" to="[object Object]"></o-button-stub>
<o-button-stub data-v-68ff875c="" tag="router-link" variant="success" size="big" rounded="false" expanded="false" disabled="false" outlined="false" loading="false" inverted="false" type="button" to="[object Object]"></o-button-stub>
</section>
</div>"
`;

View File

@@ -194,6 +194,7 @@ describe("Render login form", () => {
wrapper.find('form input[type="email"]').setValue("some@email.tld");
wrapper.find('form input[type="password"]').setValue("somepassword");
wrapper.find("form button[type='submit']").trigger("click");
wrapper.find("form").trigger("submit");
await flushPromises();
expect(wrapper.router.push).toHaveBeenCalledWith("/about/instance");

View File

@@ -49,6 +49,7 @@ describe("SendPasswordReset", () => {
expect(requestHandlers.handle_0).toHaveBeenCalledTimes(0);
wrapper.find("form").trigger("submit");
await wrapper.vm.$nextTick();
await flushPromises();
expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();