Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

58 linhas
1.4 KiB

  1. const test_button_names = [
  2. "Metallica",
  3. "Pink Floyd",
  4. "Porcupine Tree (the GOAT)",
  5. "AC / DC",
  6. `Electronic Dance "music"`,
  7. "l'imperatrice",
  8. ];
  9. const add_button = (label, group = "TestGroup") => {
  10. cy.window()
  11. .its("cur_frm")
  12. .then((frm) => {
  13. frm.add_custom_button(label, () => {}, group);
  14. });
  15. };
  16. const check_button_count = (label, group = "TestGroup") => {
  17. // Verify main buttons
  18. cy.findByRole("button", { name: group }).click();
  19. cy.get(`[data-label="${encodeURIComponent(label)}"]`)
  20. .should("have.length", 1)
  21. .should("be.visible");
  22. // Verify dropdown buttons in mobile view
  23. cy.viewport(420, 900);
  24. const dropdown_btn_label = `${group} > ${label}`;
  25. cy.get(".menu-btn-group > .btn").click();
  26. cy.get(`[data-label="${encodeURIComponent(dropdown_btn_label)}"]`)
  27. .should("have.length", 1)
  28. .should("be.visible");
  29. //reset viewport
  30. cy.viewport(Cypress.config("viewportWidth"), Cypress.config("viewportHeight"));
  31. };
  32. describe(
  33. "Custom group button behaviour on desk",
  34. { scrollBehavior: false }, // speeds up the test
  35. () => {
  36. before(() => {
  37. cy.login();
  38. cy.visit(`/app/note/new`);
  39. });
  40. test_button_names.forEach((button_name) => {
  41. it(`Custom button works with name '${button_name}'`, () => {
  42. add_button(button_name);
  43. check_button_count(button_name);
  44. // duplicate button shouldn't be added
  45. add_button(button_name);
  46. check_button_count(button_name);
  47. });
  48. });
  49. }
  50. );