Skip to content

Commit 62e372c

Browse files
Kahbazicsharpfritz
authored andcommitted
Added validator tests (#35)
1 parent 75e351d commit 62e372c

22 files changed

+944
-7
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<CustomValidator ServerValidate="@ServerValidate"
9+
ValidateEmptyText="true"
10+
ControlToValidate="@Name"
11+
Text="can't see me!" />
12+
13+
</EditForm>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
bool _validSubmit = false;
20+
bool _invalidSubmit = false;
21+
bool _serverValidate = false;
22+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
23+
24+
void FirstTest(IRazorTestContext context)
25+
{
26+
27+
var cut = context.GetComponentUnderTest();
28+
29+
cut.Find("input").Change("");
30+
31+
cut.Find("form").Submit();
32+
33+
_validSubmit.ShouldBeTrue();
34+
_invalidSubmit.ShouldBeFalse();
35+
_serverValidate.ShouldBeTrue();
36+
37+
cut.FindAll("span").Count().ShouldBe(0);
38+
39+
}
40+
41+
private ExampleModel exampleModel = new ExampleModel();
42+
43+
private bool ServerValidate(string value)
44+
{
45+
_serverValidate = true;
46+
47+
return true;
48+
}
49+
50+
private void HandleValidSubmit()
51+
{
52+
_validSubmit = true;
53+
}
54+
55+
private void HandleInvalidSubmit()
56+
{
57+
_invalidSubmit = true;
58+
}
59+
60+
public class ExampleModel
61+
{
62+
public string Name { get; set; }
63+
}
64+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<CustomValidator ServerValidate="@(x => false)"
9+
ControlToValidate="@Name"
10+
Text="there's no escape!" />
11+
12+
</EditForm>
13+
</ComponentUnderTest>
14+
</Fixture>
15+
16+
17+
@code {
18+
bool _validSubmit = false;
19+
bool _invalidSubmit = false;
20+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
21+
22+
void FirstTest(IRazorTestContext context)
23+
{
24+
25+
var cut = context.GetComponentUnderTest();
26+
27+
cut.Find("input").Change("whatever!");
28+
29+
cut.Find("form").Submit();
30+
31+
_validSubmit.ShouldBeFalse();
32+
_invalidSubmit.ShouldBeTrue();
33+
34+
cut.Find("span").FirstChild.TextContent.ShouldContain("there's no escape!");
35+
36+
}
37+
38+
private ExampleModel exampleModel = new ExampleModel();
39+
40+
private void HandleValidSubmit()
41+
{
42+
_validSubmit = true;
43+
}
44+
45+
private void HandleInvalidSubmit()
46+
{
47+
_invalidSubmit = true;
48+
}
49+
50+
public class ExampleModel
51+
{
52+
public string Name { get; set; }
53+
}
54+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<CustomValidator ServerValidate="@ServerValidate"
9+
ValidateEmptyText="false"
10+
ControlToValidate="@Name"
11+
Text="can't see me!" />
12+
13+
</EditForm>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
bool _validSubmit = false;
20+
bool _invalidSubmit = false;
21+
bool _serverValidate = false;
22+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
23+
24+
void FirstTest(IRazorTestContext context)
25+
{
26+
27+
var cut = context.GetComponentUnderTest();
28+
29+
cut.Find("input").Change("");
30+
31+
cut.Find("form").Submit();
32+
33+
_validSubmit.ShouldBeTrue();
34+
_invalidSubmit.ShouldBeFalse();
35+
_serverValidate.ShouldBeFalse();
36+
37+
cut.FindAll("span").Count().ShouldBe(0);
38+
39+
}
40+
41+
private ExampleModel exampleModel = new ExampleModel();
42+
43+
private bool ServerValidate(string value)
44+
{
45+
_serverValidate = true;
46+
47+
return true;
48+
}
49+
50+
private void HandleValidSubmit()
51+
{
52+
_validSubmit = true;
53+
}
54+
55+
private void HandleInvalidSubmit()
56+
{
57+
_invalidSubmit = true;
58+
}
59+
60+
public class ExampleModel
61+
{
62+
public string Name { get; set; }
63+
}
64+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<CustomValidator ServerValidate="@(x => true)"
9+
ControlToValidate="@Name"
10+
Text="can't see me!" />
11+
12+
</EditForm>
13+
</ComponentUnderTest>
14+
</Fixture>
15+
16+
17+
@code {
18+
bool _validSubmit = false;
19+
bool _invalidSubmit = false;
20+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
21+
22+
void FirstTest(IRazorTestContext context)
23+
{
24+
25+
var cut = context.GetComponentUnderTest();
26+
27+
cut.Find("input").Change("whatever!");
28+
29+
cut.Find("form").Submit();
30+
31+
_validSubmit.ShouldBeTrue();
32+
_invalidSubmit.ShouldBeFalse();
33+
34+
cut.FindAll("span").Count().ShouldBe(0);
35+
36+
}
37+
38+
private ExampleModel exampleModel = new ExampleModel();
39+
40+
private void HandleValidSubmit()
41+
{
42+
_validSubmit = true;
43+
}
44+
45+
private void HandleInvalidSubmit()
46+
{
47+
_invalidSubmit = true;
48+
}
49+
50+
public class ExampleModel
51+
{
52+
public string Name { get; set; }
53+
}
54+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<RegularExpressionValidator ValidationExpression="^[a-z]{6}$"
9+
ControlToValidate="@Name"
10+
Text="6 char only" />
11+
12+
</EditForm>
13+
</ComponentUnderTest>
14+
</Fixture>
15+
16+
17+
@code {
18+
bool _validSubmit = false;
19+
bool _invalidSubmit = false;
20+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
21+
22+
void FirstTest(IRazorTestContext context)
23+
{
24+
25+
var cut = context.GetComponentUnderTest();
26+
27+
cut.Find("input").Change("apple");
28+
29+
cut.Find("form").Submit();
30+
31+
_validSubmit.ShouldBeFalse();
32+
_invalidSubmit.ShouldBeTrue();
33+
34+
cut.Find("span").FirstChild.TextContent.ShouldContain("6 char only");
35+
36+
}
37+
38+
private ExampleModel exampleModel = new ExampleModel();
39+
40+
private void HandleValidSubmit()
41+
{
42+
_validSubmit = true;
43+
}
44+
45+
private void HandleInvalidSubmit()
46+
{
47+
_invalidSubmit = true;
48+
}
49+
50+
public class ExampleModel
51+
{
52+
public string Name { get; set; }
53+
}
54+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit" OnInvalidSubmit="@HandleInvalidSubmit">
6+
Write something
7+
<InputText @ref="Name.Current" @bind-Value="exampleModel.Name" />
8+
<RegularExpressionValidator ValidationExpression="^(a)+$"
9+
MatchTimeout="1"
10+
ControlToValidate="@Name"
11+
Text="6 char only" />
12+
13+
</EditForm>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
bool _validSubmit = false;
20+
bool _invalidSubmit = false;
21+
ForwardRef<InputBase<string>> Name = new ForwardRef<InputBase<string>>();
22+
23+
void FirstTest(IRazorTestContext context)
24+
{
25+
26+
var cut = context.GetComponentUnderTest();
27+
28+
cut.Find("input").Change(new string('a', 1_000_000));
29+
30+
Should.Throw<System.Text.RegularExpressions.RegexMatchTimeoutException>(() => cut.Find("form").Submit());
31+
32+
}
33+
34+
private ExampleModel exampleModel = new ExampleModel();
35+
36+
private void HandleValidSubmit()
37+
{
38+
_validSubmit = true;
39+
}
40+
41+
private void HandleInvalidSubmit()
42+
{
43+
_invalidSubmit = true;
44+
}
45+
46+
public class ExampleModel
47+
{
48+
public string Name { get; set; }
49+
}
50+
}

0 commit comments

Comments
 (0)