Skip to content

Commit 99114f7

Browse files
committed
Tests for gridview
1 parent 59ef784 commit 99114f7

19 files changed

+198
-57
lines changed

samples/AfterBlazorServerSide/Pages/ControlSamples/GridView/Default.razor

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
<GridView ItemType="Customer"
88
AutogenerateColumns="false"
99
DataKeyNames="CustomerID"
10-
SelectMethod="GetCustomers">
10+
SelectMethod="GetCustomers"
11+
EmptyDataText="No data available">
1112
<Columns>
1213
<BoundField DataField="CustomerID" HeaderText="ID" />
1314
<BoundField DataField="CompanyName" HeaderText="CompanyName" />
@@ -23,7 +24,7 @@
2324

2425
@code{
2526
public IQueryable<Customer> GetCustomers(int maxRows, int startRowIndex, string sortByExpression, out int totalRowCount)
26-
{
27+
{
2728
var customers = new List<Customer>();
2829
var c1 = new Customer
2930
{
@@ -56,5 +57,5 @@
5657

5758
totalRowCount = customers.Count();
5859
return customers.AsQueryable();
59-
}
60+
}
6061
}

samples/AfterBlazorServerSide/Pages/ControlSamples/GridView/TemplateFields.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525

2626
@code{
2727

28-
BlazorWebFormsComponents.GridView.GridView<Widget> TemplateFieldGridView { get; set; }
28+
BlazorWebFormsComponents.GridView<Widget> TemplateFieldGridView { get; set; }
2929

30-
private static bool PriceVisibility { get; set; } = false;
30+
private static bool PriceVisibility { get; set; } = true;
3131

3232
protected override void OnAfterRender(bool firstRender)
3333
{

samples/AfterBlazorServerSide/Pages/ControlSamples/_Imports.razor

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@using BlazorWebFormsComponents
2-
@using BlazorWebFormsComponents.GridView
32
@using SharedSampleObjects.Models
43

54
@using static BlazorWebFormsComponents.Enums.RepeatLayout
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<GridView ItemType="Widget"
6+
SelectMethod="GetWidgets"
7+
AutogenerateColumns="true">
8+
</GridView>
9+
</ComponentUnderTest>
10+
</Fixture>
11+
12+
@code {
13+
void FirstTest()
14+
{
15+
var cut = GetComponentUnderTest();
16+
var tableHeaders = cut.FindAll("th").ToList();
17+
tableHeaders[0].TextContent.ShouldBe("Id");
18+
tableHeaders[1].TextContent.ShouldBe("Name");
19+
tableHeaders[2].TextContent.ShouldBe("Price");
20+
tableHeaders[3].TextContent.ShouldBe("LastUpdate");
21+
tableHeaders[4].TextContent.ShouldBe("EmptyWidgetList");
22+
tableHeaders[5].TextContent.ShouldBe("SimpleWidgetList");
23+
tableHeaders.Count.ShouldBe(6, "Did not render 6 TH elements");
24+
cut.FindAll("tr").Count(e => e.InnerHtml.Contains("td")).ShouldBe(3, "Did not render 3 TR elements");
25+
}
26+
27+
IQueryable<Widget> GetWidgets(int maxRows, int startRowIndex, string sortByExpression, out int totalRowCount)
28+
{
29+
totalRowCount = Widget.SimpleWidgetList.Length;
30+
return Widget.SimpleWidgetList.AsQueryable();
31+
}
32+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<GridView ItemType="Widget"
6+
AutogenerateColumns="false"
7+
SelectMethod="GetWidgets">
8+
<Columns>
9+
<BoundField DataField="Id" HeaderText="ID" />
10+
<BoundField DataField="Name" HeaderText="Widget Name" />
11+
</Columns>
12+
</GridView>
13+
</ComponentUnderTest>
14+
</Fixture>
15+
16+
17+
@code {
18+
void FirstTest()
19+
{
20+
var cut = GetComponentUnderTest();
21+
var tableHeaders = cut.FindAll("th").ToList();
22+
tableHeaders[0].TextContent.ShouldBe("ID");
23+
tableHeaders[1].TextContent.ShouldBe("Widget Name");
24+
tableHeaders.Count.ShouldBe(2, "Did not render 2 TH elements");
25+
cut.FindAll("tr").Count(e => e.InnerHtml.Contains("td")).ShouldBe(3, "Did not render 3 TR elements");
26+
cut.FindAll("td").Count().ShouldBe(6, "Did not render 6 TD elements");
27+
}
28+
29+
IQueryable<Widget> GetWidgets(int maxRows, int startRowIndex, string sortByExpression, out int totalRowCount)
30+
{
31+
totalRowCount = Widget.SimpleWidgetList.Length;
32+
return Widget.SimpleWidgetList.AsQueryable();
33+
}
34+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@inherits TestComponentBase
2+
<Fixture Test="FirstTest">
3+
<ComponentUnderTest>
4+
<GridView ItemType="Widget"
5+
SelectMethod="GetWidgets"
6+
AutogenerateColumns="true"
7+
EmptyDataText="TestText">
8+
</GridView>
9+
</ComponentUnderTest>
10+
</Fixture>
11+
12+
@code {
13+
14+
void FirstTest()
15+
{
16+
var cut = GetComponentUnderTest();
17+
var tableHeaders = cut.FindAll("th").ToList();
18+
tableHeaders[0].TextContent.ShouldBe("Id");
19+
tableHeaders[1].TextContent.ShouldBe("Name");
20+
tableHeaders[2].TextContent.ShouldBe("Price");
21+
tableHeaders[3].TextContent.ShouldBe("LastUpdate");
22+
tableHeaders[4].TextContent.ShouldBe("EmptyWidgetList");
23+
tableHeaders[5].TextContent.ShouldBe("SimpleWidgetList");
24+
tableHeaders.Count.ShouldBe(6, "Did not render 6 TH elements");
25+
cut.FindAll("tr").Count(e => e.InnerHtml.Contains("td")).ShouldBe(1, "Did not render 1 TR elements");
26+
cut.FindAll("td").Count().ShouldBe(1, "Did not render 0 TD elements");
27+
cut.Find("td").TextContent.Replace("\t", string.Empty).Replace("\n", string.Empty).ShouldBe("TestText");
28+
}
29+
30+
IQueryable<Widget> GetWidgets(int maxRows, int startRowIndex, string sortByExpression, out int totalRowCount)
31+
{
32+
totalRowCount = 0;
33+
var widgetList = new List<Widget>();
34+
return widgetList.AsQueryable();
35+
}
36+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
@inherits TestComponentBase
2+
3+
<Fixture Test="FirstTest">
4+
<ComponentUnderTest>
5+
<GridView SelectMethod="GetWidgets"
6+
AutogenerateColumns="false"
7+
ItemType="SharedSampleObjects.Models.Widget">
8+
<Columns>
9+
<TemplateField HeaderText="Name">
10+
<ItemTemplate Context="Item">
11+
<label></label>
12+
</ItemTemplate>
13+
</TemplateField>
14+
<TemplateField HeaderText="Price">
15+
<ItemTemplate Context="Item">
16+
<button></button>
17+
</ItemTemplate>
18+
</TemplateField>
19+
</Columns>
20+
</GridView>
21+
</ComponentUnderTest>
22+
</Fixture>
23+
24+
@code {
25+
26+
void FirstTest()
27+
{
28+
var cut = GetComponentUnderTest();
29+
var tableHeaders = cut.FindAll("th").ToList();
30+
tableHeaders[0].TextContent.ShouldBe("Name");
31+
tableHeaders[1].TextContent.ShouldBe("Price");
32+
tableHeaders.Count.ShouldBe(2, "Did not render 2 TH elements");
33+
cut.FindAll("tr").Count(e => e.InnerHtml.Contains("td")).ShouldBe(3, "Did not render 3 TR elements");
34+
cut.FindAll("td").Count(e => e.InnerHtml.Contains("label")).ShouldBe(3, "Did not render 3 labels");
35+
cut.FindAll("td").Count(e => e.InnerHtml.Contains("button")).ShouldBe(3, "Did not render 3 buttons");
36+
}
37+
38+
IQueryable<Widget> GetWidgets(int maxRows, int startRowIndex, string sortByExpression, out int totalRowCount)
39+
{
40+
totalRowCount = Widget.SimpleWidgetList.Length;
41+
return Widget.SimpleWidgetList.AsQueryable();
42+
}
43+
}

src/BlazorWebFormsComponents/GridView/BaseColumn.cs renamed to src/BlazorWebFormsComponents/BaseColumn.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using BlazorWebFormsComponents.Interfaces;
22
using Microsoft.AspNetCore.Components;
33

4-
namespace BlazorWebFormsComponents.GridView
4+
namespace BlazorWebFormsComponents
55
{
66
public abstract class BaseColumn : BaseWebFormsComponent, IColumn
77
{

src/BlazorWebFormsComponents/GridView/BaseRow.cs renamed to src/BlazorWebFormsComponents/BaseRow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using BlazorWebFormsComponents.Interfaces;
22
using Microsoft.AspNetCore.Components;
33

4-
namespace BlazorWebFormsComponents.GridView
4+
namespace BlazorWebFormsComponents
55
{
66
/// <summary>
77
/// Base abstract row class
File renamed without changes.

0 commit comments

Comments
 (0)