Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using EstateManagementUI.BlazorServer.Components.Permissions;
using EstateManagementUI.BlazorServer.Permissions;
using EstateManagementUI.BlazorServer.Tests.Pages.FileProcessing;
using EstateManagementUI.BusinessLogic.BackendAPI.DataTransferObjects;
using EstateManagementUI.BusinessLogic.Models;
using EstateManagementUI.BusinessLogic.Requests;
using MediatR;
Expand All @@ -20,22 +21,18 @@ public class MerchantsIndexPageTests : BaseTest
public void MerchantsIndex_InitialState_ShowsLoadingIndicator()
{
// Arrange
var merchants = new List<MerchantModel>
var merchants = new List<MerchantListModel>
{
new MerchantModel
new MerchantListModel
{
MerchantId = Guid.NewGuid(),
MerchantName = "Test Merchant",
MerchantReference = "REF001",
Balance = 1000m,
AvailableBalance = 500m,
SettlementSchedule = "Daily"
MerchantName = "Test Merchant"
}
};

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();

Expand All @@ -47,10 +44,10 @@ public void MerchantsIndex_InitialState_ShowsLoadingIndicator()
public void MerchantsIndex_WithNoMerchants_ShowsEmptyState()
{
// Arrange
var emptyList = new List<MerchantModel>();
var merchants = new List<MerchantListModel>();
_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(emptyList));
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"));
Expand All @@ -63,31 +60,25 @@ public void MerchantsIndex_WithNoMerchants_ShowsEmptyState()
public void MerchantsIndex_WithMerchants_DisplaysMerchantList()
{
// Arrange
var merchants = new List<MerchantModel>
var merchants = new List<MerchantListModel>
{
new MerchantModel
new MerchantListModel()
{
MerchantId = Guid.NewGuid(),
MerchantName = "Test Merchant 1",
MerchantReference = "REF001",
Balance = 1000m,
AvailableBalance = 500m,
SettlementSchedule = "Daily"
MerchantReference = "REF001"
},
new MerchantModel
new MerchantListModel()
{
MerchantId = Guid.NewGuid(),
MerchantName = "Test Merchant 2",
MerchantReference = "REF002",
Balance = 2000m,
AvailableBalance = 1500m,
SettlementSchedule = "Weekly"
MerchantReference = "REF002"
}
};

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"), TimeSpan.FromSeconds(5));
Expand All @@ -103,29 +94,23 @@ public void MerchantsIndex_WithMerchants_DisplaysMerchantList()
public void MerchantsIndex_WithMerchants_DisplaysSummaryCards()
{
// Arrange
var merchants = new List<MerchantModel>
var merchants = new List<MerchantListModel>
{
new MerchantModel
new()
{
MerchantId = Guid.NewGuid(),
MerchantName = "Merchant 1",
MerchantReference = "REF001",
Balance = 1000m,
AvailableBalance = 500m
MerchantName = "Merchant 1"
},
new MerchantModel
new()
{
MerchantId = Guid.NewGuid(),
MerchantName = "Merchant 2",
MerchantReference = "REF002",
Balance = 2000m,
AvailableBalance = 1500m
MerchantName = "Merchant 2"
}
};

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"), TimeSpan.FromSeconds(5));
Expand All @@ -141,7 +126,7 @@ public void MerchantsIndex_HasCorrectPageTitle()
{
// Arrange
_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(new List<MerchantModel>()));
.ReturnsAsync(Result.Success(new List<MerchantListModel>()));

// Act
var cut = RenderComponent<MerchantsIndex>();
Expand All @@ -155,24 +140,18 @@ public void MerchantsIndex_HasCorrectPageTitle()
public void MerchantsIndex_WithMerchants_DisplaysFilters()
{
// Arrange
var merchants = new List<MerchantModel>
var merchants = new List<MerchantListModel>
{
new MerchantModel
new MerchantListModel()
{
MerchantId = Guid.NewGuid(),
MerchantName = "Test Merchant",
MerchantReference = "REF001",
Balance = 1000m,
AvailableBalance = 500m,
SettlementSchedule = "Daily",
Region = "North",
PostalCode = "12345"
MerchantName = "Test Merchant"
}
};

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"), TimeSpan.FromSeconds(5));
Expand All @@ -190,21 +169,15 @@ public void MerchantsIndex_WithMerchants_DisplaysFilters()
public void MerchantsIndex_WithManyMerchants_DisplaysPagination()
{
// Arrange - Create more than 10 merchants to trigger pagination
var merchants = Enumerable.Range(1, 12).Select(i => new MerchantModel
var merchants = Enumerable.Range(1, 12).Select(i => new MerchantListModel()
{
MerchantId = Guid.NewGuid(),
MerchantName = $"Merchant {i}",
MerchantReference = $"REF{i:000}",
Balance = 1000m * i,
AvailableBalance = 500m * i,
SettlementSchedule = "Daily",
Region = "North",
PostalCode = "12345"
MerchantName = $"Merchant {i}"
}).ToList();

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"), TimeSpan.FromSeconds(5));
Expand All @@ -219,24 +192,20 @@ public void MerchantsIndex_WithManyMerchants_DisplaysPagination()
public void MerchantsIndex_WithMerchants_DisplaysRegionAndPostcode()
{
// Arrange
var merchants = new List<MerchantModel>
var merchants = new List<MerchantListModel>
{
new MerchantModel
new MerchantListModel
{
MerchantId = Guid.NewGuid(),
MerchantName = "Test Merchant",
MerchantReference = "REF001",
Balance = 1000m,
AvailableBalance = 500m,
SettlementSchedule = "Daily",
Region = "North Region",
PostalCode = "12345"
}
};

_mockMediator.Setup(x => x.Send(It.IsAny<Queries.GetMerchantsQuery>(), default))
.ReturnsAsync(Result.Success(merchants));

// Act
var cut = RenderComponent<MerchantsIndex>();
cut.WaitForState(() => !cut.Markup.Contains("animate-spin"), TimeSpan.FromSeconds(5));
Expand Down
Loading