Skip to content

Commit

Permalink
Add unit tests on table refresh on edge and concentrators #975
Browse files Browse the repository at this point in the history
  • Loading branch information
hocinehacherouf authored and kbeaugrand committed Aug 1, 2022
1 parent 8eaf4f9 commit 3090879
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ public void WhenAddNewDeviceClickShouldNavigateToNewDevicePage()
}

[Test]
public async Task WhenRefreshClickShouldReloadFromApi()
public void ClickOnRefreshShouldReloadDevices()
{
// Arrange
_ = this.mockDeviceClientService.Setup(service =>
Expand All @@ -152,16 +152,10 @@ public async Task WhenRefreshClickShouldReloadFromApi()
_ = this.mockDeviceTagSettingsClientService.Setup(service => service.GetDeviceTags())
.ReturnsAsync(new List<DeviceTag>());


// Act
var cut = RenderComponent<DeviceListPage>();
cut.WaitForAssertion(() => cut.Find("#tableRefreshButton"));

for (var i = 0; i < 3; i++)
{
cut.Find("#tableRefreshButton").Click();
await Task.Delay(100);
}
// Act
cut.WaitForElement("#tableRefreshButton").Click();

// Assert
cut.WaitForAssertion(() => MockRepository.VerifyAll());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,5 +152,25 @@ public void ClickToItemShouldRedirectToEdgeDetailsPage()
cut.WaitForAssertion(() => Services.GetService<FakeNavigationManager>()?.Uri.Should().EndWith($"/edge/devices/{deviceId}"));
cut.WaitForAssertion(() => MockRepository.VerifyAll());
}

[Test]
public void ClickOnRefreshShouldReloadEdgeDevices()
{
// Arrange
var expectedUrl = "api/edge/devices?pageSize=10&searchText=&searchStatus=&searchType=";
_ = this.mockEdgeDeviceClientService.Setup(service => service.GetDevices(expectedUrl))
.ReturnsAsync(new PaginationResult<IoTEdgeListItem>
{
Items = Array.Empty<IoTEdgeListItem>()
});

var cut = RenderComponent<EdgeDeviceListPage>();

// Act
cut.WaitForElement("#tableRefreshButton").Click();

// Assert
cut.WaitForAssertion(() => MockRepository.VerifyAll());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,5 +149,27 @@ public void ClickOnAddNewDeviceShouldNavigateToNewDevicePage()
cut.WaitForAssertion(() => MockRepository.VerifyAll());
cut.WaitForAssertion(() => Services.GetService<FakeNavigationManager>()?.Uri.Should().EndWith("/lorawan/concentrators/new"));
}

[Test]
public void ClickOnRefreshShouldReloadConcentrators()
{
// Arrange
var expectedUri = "api/lorawan/concentrators?pageSize=10";

_ = this.mockLoRaWanConcentratorsClientService.Setup(service =>
service.GetConcentrators(It.Is<string>(s => expectedUri.Equals(s, StringComparison.Ordinal))))
.ReturnsAsync(new PaginationResult<Concentrator>
{
Items = Array.Empty<Concentrator>()
});

var cut = RenderComponent<ConcentratorListPage>();

// Act
cut.WaitForElement("#tableRefreshButton").Click();

// Assert
cut.WaitForAssertion(() => MockRepository.VerifyAll());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<MudText Typo="Typo.h6">Edge Devices</MudText>
<MudSpacer />
<MudTooltip Text="Refresh list">
<MudIconButton Icon="@Icons.Material.Filled.Refresh" Size="Size.Medium" OnClick="@Refresh" Class="ma-2"></MudIconButton>
<MudIconButton Icon="@Icons.Material.Filled.Refresh" Size="Size.Medium" OnClick="@Refresh" id="tableRefreshButton" Class="ma-2"></MudIconButton>
</MudTooltip>
<MudTooltip Text="Add device">
<MudFab Color="Color.Secondary" Icon="@Icons.Material.Filled.Add" Size="Size.Medium" OnClick="ShowAddDialog" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<MudText Typo="Typo.h6">LoRaWAN Concentrators</MudText>
<MudSpacer />
<MudTooltip Text="Refresh list">
<MudIconButton Icon="@Icons.Material.Filled.Refresh" Size="Size.Medium" OnClick="@Refresh" Class="ma-2"></MudIconButton>
<MudIconButton Icon="@Icons.Material.Filled.Refresh" Size="Size.Medium" OnClick="@Refresh" id="tableRefreshButton" Class="ma-2"></MudIconButton>
</MudTooltip>
<MudTooltip Text="Add LoRaWAN concentrator">
<MudFab id="add-concentrator" Color="Color.Secondary" Icon="@Icons.Material.Filled.Add" Size="Size.Medium" OnClick="AddDevice" />
Expand Down

0 comments on commit 3090879

Please sign in to comment.