You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DateTimeFieldWeekDaysTest.java 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.vaadin.tests.components.datefield;
  2. import org.junit.Test;
  3. import org.openqa.selenium.WebElement;
  4. import org.openqa.selenium.support.ui.ExpectedConditions;
  5. import com.vaadin.testbench.By;
  6. import com.vaadin.testbench.elements.ButtonElement;
  7. import com.vaadin.testbench.elements.CheckBoxElement;
  8. import com.vaadin.testbench.elements.DateTimeFieldElement;
  9. import com.vaadin.tests.tb3.SingleBrowserTest;
  10. import static org.junit.Assert.assertFalse;
  11. import static org.junit.Assert.assertTrue;
  12. public class DateTimeFieldWeekDaysTest extends SingleBrowserTest {
  13. @Test
  14. public void testFiLocale_weekNumbersVisible() {
  15. openTestURL();
  16. openPopupAndValidateWeekNumbers();
  17. }
  18. @Test
  19. public void testToggleWeekNumbers_renderedCorrectly() {
  20. openTestURL();
  21. openPopupAndValidateWeekNumbers();
  22. $(CheckBoxElement.class).first().click();
  23. assertFalse("Checkbox is selected even though should be unselected.",
  24. $(CheckBoxElement.class).first().isChecked());
  25. openPopupAndValidateNoWeeknumbers();
  26. }
  27. @Test
  28. public void testLocaleChangeToEnglish_removesWeekNumbers() {
  29. openTestURL();
  30. openPopupAndValidateWeekNumbers();
  31. $(ButtonElement.class).id("english").click();
  32. openPopupAndValidateNoWeeknumbers();
  33. }
  34. @Test
  35. public void testChangeBackToFinnish_weekNumbersVisible() {
  36. openTestURL();
  37. $(ButtonElement.class).id("english").click();
  38. openPopupAndValidateNoWeeknumbers();
  39. $(ButtonElement.class).id("finnish").click();
  40. openPopupAndValidateWeekNumbers();
  41. }
  42. private void openPopupAndValidateWeekNumbers() {
  43. WebElement popupButton = $(DateTimeFieldElement.class).first()
  44. .findElement(By.className("v-datefield-button"));
  45. // Open date popup
  46. popupButton.click();
  47. sleep(100);
  48. waitUntil(ExpectedConditions.visibilityOfElementLocated(
  49. org.openqa.selenium.By.className("v-datefield-popup")));
  50. assertFalse("No week numbers found for date field!",
  51. findElements(
  52. By.className("v-datefield-calendarpanel-weeknumber"))
  53. .isEmpty());
  54. // Close popup
  55. popupButton.click();
  56. sleep(100);
  57. }
  58. private void openPopupAndValidateNoWeeknumbers() {
  59. WebElement popupButton = $(DateTimeFieldElement.class).first()
  60. .findElement(By.className("v-datefield-button"));
  61. // Open date popup
  62. popupButton.click();
  63. sleep(100);
  64. waitUntil(ExpectedConditions.visibilityOfElementLocated(
  65. org.openqa.selenium.By.className("v-datefield-popup")));
  66. assertTrue("Week numbers still found in calendar popup!",
  67. findElements(
  68. By.className("v-datefield-calendarpanel-weeknumber"))
  69. .isEmpty());
  70. // Close popup
  71. popupButton.click();
  72. sleep(100);
  73. }
  74. }