Skip to content

Commit 2658d7e

Browse files
E2E test for ValidationMessage
1 parent d63f817 commit 2658d7e

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/Components/test/E2ETest/Tests/FormsTest.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,33 @@ public void CanWireUpINotifyPropertyChangedToEditContext()
289289
WaitAssert.Equal("valid", () => acceptsTermsInput.GetAttribute("class"));
290290
}
291291

292+
[Fact]
293+
public void ValidationMessageDisplaysMessagesForField()
294+
{
295+
var appElement = MountTestComponent<TypicalValidationComponent>();
296+
var emailContainer = appElement.FindElement(By.ClassName("email"));
297+
var emailInput = emailContainer.FindElement(By.TagName("input"));
298+
var emailMessagesAccessor = CreateValidationMessagesAccessor(emailContainer);
299+
var submitButton = appElement.FindElement(By.TagName("button"));
300+
301+
// Doesn't show messages for other fields
302+
submitButton.Click();
303+
WaitAssert.Empty(emailMessagesAccessor);
304+
305+
// Updates on edit
306+
emailInput.SendKeys("abc\t");
307+
WaitAssert.Equal(new[] { "That doesn't look like a real email address" }, emailMessagesAccessor);
308+
309+
// Can show more than one message
310+
emailInput.SendKeys("too long too long too long\t");
311+
WaitAssert.Equal(new[] { "That doesn't look like a real email address", "We only accept very short email addresses (max 10 chars)" }, emailMessagesAccessor);
312+
313+
// Can become valid
314+
emailInput.Clear();
315+
emailInput.SendKeys("[email protected]\t");
316+
WaitAssert.Empty(emailMessagesAccessor);
317+
}
318+
292319
private Func<string[]> CreateValidationMessagesAccessor(IWebElement appElement)
293320
{
294321
return () => appElement.FindElements(By.ClassName("validation-message"))

0 commit comments

Comments
 (0)