Escali License control 1
IndexPageUserTableTests.razor
Gå til dokumentasjonen til denne filen.
1@inject IMapper _mapper
2@inject StateService selState
3@inherits TestContext
4@implements IDisposable
5@inject StateService _stateService
6@using Escali.LicenseControl.Client.Components.IndexPageComponents
7
8@code {
9
10 /// <summary>
11 /// Adds services to IServiceCollection for testing.
12 /// </summary>
13 private void AddServices()
14 {
15 Services.AddDbContext<DataContext>();
16 Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
17 Services.AddScoped<StateService>();
18 Services.AddScoped<AlertService>();
19 Services.AddScoped<UserViewModel>();
20 Services.AddScoped<CustomerViewModel>();
21 Services.AddScoped<MainSegmentViewModel>();
22 Services.AddScoped<AgreementElementViewModel>();
23 Services.AddScoped<ModuleViewModel>();
24 Services.AddScoped<RegionViewModel>();
25 Services.AddScoped<PriorityViewModel>();
26 }
27
28 /// <summary>
29 /// Will pass if UserTable renders
30 /// </summary>
31 [Fact]
32 public void IndexPage_UserTableRenderSuccessfully()
33 {
34 AddServices();
35 var component = Render(
36 @<UserTable />
37 );
38 component.Find($".div-customer-table-index");
39 }
40
41 /// <summary>
42 /// Will pass if expected markup matches actual
43 /// </summary>
44 [Fact]
45 public void IndexPage_UserTableRenderSuccessfully_TableNestedIsFoundButItemsIsEmpty()
46 {
47 var customer = new List<CustomerClientModel>();
48 var tableNested = Render(
49 @<TableNested Items="customer"/>
50 );
51
52 tableNested.MarkupMatches(@<table class="table-container">
53 <tr>
54 <td></td>
55 <td>
56 <h5>Ingen data å vise</h5>
57 </td>
58 </tr>
59 </table>);
60 }
61
62 /// <summary>
63 /// Will pass if td (only shows if Items not empty) is found.
64 /// </summary>
65 [Fact]
66 public void IndexPage_TableNestedRenderSuccessfully_TableNestedIsFoundItemsNotEmpty()
67 {
68 var customer = new List<CustomerClientModel>()
69 {
70 new CustomerClientModel()
71 {
72 CustomerName = "name",
73 OrganizationNumber= "000",
74 CustomerSince = DateTime.Now
75 },
76 new CustomerClientModel()
77 {
78 CustomerName = "name1",
79 OrganizationNumber= "111",
80 CustomerSince = DateTime.Now
81 },
82 new CustomerClientModel()
83 {
84 CustomerName = "name2",
85 OrganizationNumber= "222",
86 CustomerSince = DateTime.Now
87 },
88 };
89 var tableNested = Render(@<TableNested Items="customer"/>
90 );
91
92 tableNested.Find($".table-col-last");
93 }
94
95 [Fact]
96 public void IndexPage_TableNestedRenderSuccessfully_ClickOnImgRedirectToCustomerPage()
97 {
98 AddServices();
99 var customer = new List<CustomerClientModel>()
100 {
101 new CustomerClientModel()
102 {
103 CustomerName = "name",
104 OrganizationNumber= "000",
105 CustomerSince = DateTime.Now
106 }
107 };
108
109 var tableNested = Render(@<TableNested Items="customer"/>
110 );
111 var navMan = Services.GetRequiredService<FakeNavigationManager>();
112 Console.WriteLine(navMan.Uri);
113 var clickable = tableNested.Find($"img");
114 clickable.Click();
115
116 //Assert.Equal("http://localhost/customers", navMan.Uri);
117
118 }
119}