From c85889a8c9669fc810b0ee35f0b37e5b0e2818c8 Mon Sep 17 00:00:00 2001
From: jmayer913 <72579603+jmayer913@users.noreply.github.com>
Date: Sun, 26 Apr 2026 13:14:38 -0400
Subject: [PATCH 1/3] Updated Version and Packages
---
.../JMayer.Example.ASPReact.Server.csproj | 8 ++++----
TestProject/TestProject.csproj | 10 +++++-----
jmayer.example.aspreact.client/package-lock.json | 4 ++--
jmayer.example.aspreact.client/package.json | 2 +-
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/JMayer.Example.ASPReact.Server/JMayer.Example.ASPReact.Server.csproj b/JMayer.Example.ASPReact.Server/JMayer.Example.ASPReact.Server.csproj
index b575935..30d3702 100644
--- a/JMayer.Example.ASPReact.Server/JMayer.Example.ASPReact.Server.csproj
+++ b/JMayer.Example.ASPReact.Server/JMayer.Example.ASPReact.Server.csproj
@@ -7,18 +7,18 @@
..\jmayer.example.aspreact.client
npm run dev
https://localhost:5173
- 9.0.1
+ 9.1.0
jmayer913
jmayer913
https://github.com/jmayer913/JMayer-Example-ASPReact
-
+
- 9.0.12
+ 9.0.15
-
+
diff --git a/TestProject/TestProject.csproj b/TestProject/TestProject.csproj
index dd51fa0..ac3673b 100644
--- a/TestProject/TestProject.csproj
+++ b/TestProject/TestProject.csproj
@@ -7,21 +7,21 @@
false
true
- 9.0.1
+ 9.1.0
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/jmayer.example.aspreact.client/package-lock.json b/jmayer.example.aspreact.client/package-lock.json
index 042526a..6500c7b 100644
--- a/jmayer.example.aspreact.client/package-lock.json
+++ b/jmayer.example.aspreact.client/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "jmayer.example.aspreact.client",
- "version": "9.0.1",
+ "version": "9.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "jmayer.example.aspreact.client",
- "version": "9.0.1",
+ "version": "9.1.0",
"dependencies": {
"globals": "^16.2.0",
"primeflex": "^4.0.0",
diff --git a/jmayer.example.aspreact.client/package.json b/jmayer.example.aspreact.client/package.json
index dff1ce0..54dba4e 100644
--- a/jmayer.example.aspreact.client/package.json
+++ b/jmayer.example.aspreact.client/package.json
@@ -1,7 +1,7 @@
{
"name": "jmayer.example.aspreact.client",
"private": true,
- "version": "9.0.1",
+ "version": "9.1.0",
"type": "module",
"scripts": {
"dev": "vite",
From 512b6dd294e31281dd02d34bdeea0125fdfc2c8f Mon Sep 17 00:00:00 2001
From: jmayer913 <72579603+jmayer913@users.noreply.github.com>
Date: Sun, 26 Apr 2026 13:19:42 -0400
Subject: [PATCH 2/3] Added TestContext.Current.CancellationToken
---
.../Airlines/AirlineWebRequestUnitTest.cs | 84 +++++++++----------
.../Flights/FlightWebRequestUnitTest.cs | 74 ++++++++--------
TestProject/Gates/GateWebRequestUnitTest.cs | 16 ++--
.../SortDestinationWebRequestUnitTest.cs | 16 ++--
4 files changed, 95 insertions(+), 95 deletions(-)
diff --git a/TestProject/Airlines/AirlineWebRequestUnitTest.cs b/TestProject/Airlines/AirlineWebRequestUnitTest.cs
index 9344af4..dd5c5f3 100644
--- a/TestProject/Airlines/AirlineWebRequestUnitTest.cs
+++ b/TestProject/Airlines/AirlineWebRequestUnitTest.cs
@@ -72,7 +72,7 @@ public class AirlineWebRequestUnitTest : IClassFixture? sortDestinations = await dataLayer.GetAllAsync();
+ List? sortDestinations = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
return sortDestinations?.FirstOrDefault(obj => obj.Name == name);
}
@@ -112,7 +112,7 @@ public async Task VerifyAddAirline(string name, string description, string iata,
SortDestinationID = sortDestination.Integer64ID,
SortDestinationName = sortDestination.Name ?? string.Empty,
};
- OperationResult operationResult = await dataLayer.CreateAsync(airline);
+ OperationResult operationResult = await dataLayer.CreateAsync(airline, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "The operation should have been successful."); //The operation must have been successful.
Assert.IsType(operationResult.DataObject); //An airline must have been returned.
@@ -136,7 +136,7 @@ public async Task VerifyAddAirlineBadIATAFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Bad IATA Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -170,7 +170,7 @@ public async Task VerifyAddAirlineBadICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Bad ICAO Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -204,7 +204,7 @@ public async Task VerifyAddAirlineBadNumberCodeFailure()
NumberCode = BadFormattedNumberCode,
Name = "Add Bad Number Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -238,7 +238,7 @@ public async Task VerifyAddDuplicateAirlineICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Duplicate ICAO Test 1",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -248,7 +248,7 @@ public async Task VerifyAddDuplicateAirlineICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Duplicate ICAO Test New",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -282,7 +282,7 @@ public async Task VerifyAddDuplicateAirlineNameFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Duplicate Name Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -292,7 +292,7 @@ public async Task VerifyAddDuplicateAirlineNameFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Add Duplicate Name Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -326,7 +326,7 @@ public async Task VerifyAddDuplicateAirlineNumberCodeFailure()
NumberCode = "999",
Name = "Add Duplicate Number Code Test 1",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -336,7 +336,7 @@ public async Task VerifyAddDuplicateAirlineNumberCodeFailure()
NumberCode = "999",
Name = "Add Duplicate Number Code Test New",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -370,7 +370,7 @@ public async Task VerifyAddAirlineSortDestinationNotFoundFailure()
NumberCode = "999",
Name = "Add Airline Sort Destination Not Found Test",
SortDestinationID = BadSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -397,7 +397,7 @@ public async Task VerifyCountAirines()
HttpClient httpClient = _factory.CreateClient();
AirlineDataLayer dataLayer = new(httpClient);
- long count = await dataLayer.CountAsync();
+ long count = await dataLayer.CountAsync(TestContext.Current.CancellationToken);
Assert.True(count > 0);
}
@@ -418,11 +418,11 @@ public async Task VerifyDeleteAirline()
Name = "Delete Airline Test",
NumberCode = Airline.ZeroNumberCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
- operationResult = await dataLayer.DeleteAsync(airline);
+ operationResult = await dataLayer.DeleteAsync(airline, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode);
}
else
@@ -441,7 +441,7 @@ public async Task VerifyGetAllAirlines()
HttpClient httpClient = _factory.CreateClient();
AirlineDataLayer dataLayer = new(httpClient);
- List? airlines = await dataLayer.GetAllAsync();
+ List? airlines = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
//Airlines must have been returned.
Assert.NotNull(airlines);
@@ -458,7 +458,7 @@ public async Task VerifyGetAllListViewAirlines()
HttpClient httpClient = _factory.CreateClient();
AirlineDataLayer dataLayer = new(httpClient);
- List? airlines = await dataLayer.GetAllListViewAsync();
+ List? airlines = await dataLayer.GetAllListViewAsync(TestContext.Current.CancellationToken);
//List view airlines must have been returned.
Assert.NotNull(airlines);
@@ -475,7 +475,7 @@ public async Task VerifyGetSingleAirline()
HttpClient httpClient = _factory.CreateClient();
AirlineDataLayer dataLayer = new(httpClient);
- Airline? airline = await dataLayer.GetSingleAsync();
+ Airline? airline = await dataLayer.GetSingleAsync(TestContext.Current.CancellationToken);
Assert.NotNull(airline);
}
@@ -497,11 +497,11 @@ public async Task VerifyGetSingleAirlineWithId()
NumberCode = Airline.ZeroNumberCode,
SortDestinationID = DefaultSortDestinationID,
};
- OperationResult operationResult = await dataLayer.CreateAsync(airline);
+ OperationResult operationResult = await dataLayer.CreateAsync(airline, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline createdAirline)
{
- Airline? verifyAirline = await dataLayer.GetSingleAsync(createdAirline.Integer64ID);
+ Airline? verifyAirline = await dataLayer.GetSingleAsync(createdAirline.Integer64ID, TestContext.Current.CancellationToken);
Assert.NotNull(verifyAirline);
}
else
@@ -549,7 +549,7 @@ public async Task VerifyUpdateAirline(string originalName, string newName, strin
Name = originalName,
NumberCode = originalNumberCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline createdAirline)
{
@@ -563,7 +563,7 @@ public async Task VerifyUpdateAirline(string originalName, string newName, strin
SortDestinationID = sortDestination.Integer64ID,
SortDestinationName = sortDestination.Name ?? string.Empty,
};
- operationResult = await dataLayer.UpdateAsync(updatedAirline);
+ operationResult = await dataLayer.UpdateAsync(updatedAirline, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "The operation should have been successful."); //The operation must have been successful.
Assert.IsType(operationResult.DataObject); //An airline must have been returned.
@@ -592,12 +592,12 @@ public async Task VerifyUpdateAirlineBadIATAFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Bad IATA Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.IATA = BadFormattedIATACode;
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -636,12 +636,12 @@ public async Task VerifyUpdateAirlineBadICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Bad ICAO Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.ICAO = BadFormattedICAOCode;
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -680,12 +680,12 @@ public async Task VerifyUpdateAirlineBadNumberCodeFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Bad Number Code Test",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.NumberCode = BadFormattedNumberCode;
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -724,7 +724,7 @@ public async Task VerifyUpdateAirlineOldDataConflict()
Name = "Old Data Airline Test",
NumberCode = Airline.ZeroNumberCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline firstAirline)
{
@@ -732,7 +732,7 @@ public async Task VerifyUpdateAirlineOldDataConflict()
firstAirline.Description = "A description";
- operationResult = await dataLayer.UpdateAsync(secondAirline);
+ operationResult = await dataLayer.UpdateAsync(secondAirline, TestContext.Current.CancellationToken);
if (!operationResult.IsSuccessStatusCode)
{
@@ -740,7 +740,7 @@ public async Task VerifyUpdateAirlineOldDataConflict()
return;
}
- operationResult = await dataLayer.UpdateAsync(firstAirline);
+ operationResult = await dataLayer.UpdateAsync(firstAirline, TestContext.Current.CancellationToken);
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed."); //The operation must have failed.
Assert.Null(operationResult.DataObject); //No airline was returned.
@@ -769,12 +769,12 @@ public async Task VerifyUpdateAirlineSortDestinationNotFoundFailure()
Name = "Update Airline Sort Destination Not Found Test",
NumberCode = Airline.ZeroNumberCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.SortDestinationID = BadSortDestinationID;
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -813,7 +813,7 @@ public async Task VerifyUpdateDuplicateAirlineICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Duplicate ICAO Test 1",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -823,12 +823,12 @@ public async Task VerifyUpdateDuplicateAirlineICAOFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Duplicate ICAO Test 2",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.ICAO = "ZZN";
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -867,7 +867,7 @@ public async Task VerifyUpdateDuplicateAirlineNameFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Duplicate Name Test 1",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -877,12 +877,12 @@ public async Task VerifyUpdateDuplicateAirlineNameFailure()
NumberCode = Airline.ZeroNumberCode,
Name = "Update Duplicate Name Test 2",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.Name = "Update Duplicate Name Test 1";
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -921,7 +921,7 @@ public async Task VerifyUpdateDuplicateAirlineNumberCodeFailure()
NumberCode = "997",
Name = "Update Duplicate Number Code Test Test 1",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first airline.");
operationResult = await dataLayer.CreateAsync(new Airline()
@@ -931,12 +931,12 @@ public async Task VerifyUpdateDuplicateAirlineNumberCodeFailure()
NumberCode = "998",
Name = "Update Duplicate Number Code Test 2",
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Airline airline)
{
airline.NumberCode = "997";
- operationResult = await dataLayer.UpdateAsync(airline);
+ operationResult = await dataLayer.UpdateAsync(airline, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
diff --git a/TestProject/Flights/FlightWebRequestUnitTest.cs b/TestProject/Flights/FlightWebRequestUnitTest.cs
index cb5d420..cb64b26 100644
--- a/TestProject/Flights/FlightWebRequestUnitTest.cs
+++ b/TestProject/Flights/FlightWebRequestUnitTest.cs
@@ -170,7 +170,7 @@ public class FlightWebRequestUnitTest : IClassFixture(operationResult.DataObject); //A flight must have been returned.
@@ -379,7 +379,7 @@ public async Task VerifyAddFlightAirlineNotFoundFailure()
Name = "Add Flight Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -415,7 +415,7 @@ public async Task VerifyAddFlightBadDestinationFailure()
Name = "Add Bad Destination Test",
Destination = BadFormatttedDestination,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -451,7 +451,7 @@ public async Task VerifyAddFlightBadFlightNumberFailure()
Name = "Add Bad Flight Number Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -488,7 +488,7 @@ public async Task VerifyAddFlightCodeShareAirlineNotFoundFailure()
Name = "Add Flight CodeShare Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -524,7 +524,7 @@ public async Task VerifyAddFlightGateNotFoundFailure()
Name = "Add Flight Gate Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -560,7 +560,7 @@ public async Task VerifyAddFlightSortDestinationNotFoundFailure()
Name = "Add Flight Sort Destination Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = BadSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -587,7 +587,7 @@ public async Task VerifyCountFlights()
HttpClient httpClient = _factory.CreateClient();
FlightDataLayer dataLayer = new(httpClient);
- long count = await dataLayer.CountAsync();
+ long count = await dataLayer.CountAsync(TestContext.Current.CancellationToken);
Assert.True(count > 0);
}
@@ -617,13 +617,13 @@ public async Task VerifyDeleteAirlineCascade()
Name = "Delete Airline Cascade Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the flight.");
- operationResult = await new Airlines.AirlineDataLayer(httpClient).DeleteAsync(airline);
+ operationResult = await new Airlines.AirlineDataLayer(httpClient).DeleteAsync(airline, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to delete the airline.");
- List? flights = await dataLayer.GetAllAsync();
+ List? flights = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
if (flights is null)
{
@@ -653,11 +653,11 @@ public async Task VerifyDeleteFlight()
Name = "Delete Flight Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight flight)
{
- operationResult = await dataLayer.DeleteAsync(flight);
+ operationResult = await dataLayer.DeleteAsync(flight, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode);
}
else
@@ -675,7 +675,7 @@ public async Task VerifyGetAllFlights()
{
HttpClient httpClient = _factory.CreateClient();
FlightDataLayer dataLayer = new(httpClient);
- List? flights = await dataLayer.GetAllAsync();
+ List? flights = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
//Flights must have been returned.
Assert.NotNull(flights);
@@ -691,7 +691,7 @@ public async Task VerifyGetAllListViewFlights()
{
HttpClient httpClient = _factory.CreateClient();
FlightDataLayer dataLayer = new(httpClient);
- List? flights = await dataLayer.GetAllListViewAsync();
+ List? flights = await dataLayer.GetAllListViewAsync(TestContext.Current.CancellationToken);
//List view flights must have been returned.
Assert.NotNull(flights);
@@ -708,7 +708,7 @@ public async Task VerifyGetSingleFlight()
HttpClient httpClient = _factory.CreateClient();
FlightDataLayer dataLayer = new(httpClient);
- Flight? flight = await dataLayer.GetSingleAsync();
+ Flight? flight = await dataLayer.GetSingleAsync(TestContext.Current.CancellationToken);
Assert.NotNull(flight);
}
@@ -722,7 +722,7 @@ public async Task VerifyGetSingleFlightWithId()
HttpClient httpClient = _factory.CreateClient();
FlightDataLayer dataLayer = new(httpClient);
- Flight? flight = await dataLayer.GetSingleAsync(1);
+ Flight? flight = await dataLayer.GetSingleAsync(1, TestContext.Current.CancellationToken);
Assert.NotNull(flight);
}
@@ -745,7 +745,7 @@ public async Task VerifyUpdateDuplicateFlightFailure()
Name = "Update Duplicate Flight Test 1",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "Failed to create the first flight.");
operationResult = await dataLayer.CreateAsync(new Flight()
@@ -757,7 +757,7 @@ public async Task VerifyUpdateDuplicateFlightFailure()
Name = "Update Duplicate Flight Test New",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight secondFlight)
{
@@ -771,7 +771,7 @@ public async Task VerifyUpdateDuplicateFlightFailure()
Name = "Update Duplicate Flight Test New",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -842,7 +842,7 @@ public async Task VerifyUpdateFlight(string gateName, string airlineIATA, string
Name = $"{airline.IATA}{flightNumber}",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight createdFlight)
{
@@ -860,7 +860,7 @@ public async Task VerifyUpdateFlight(string gateName, string airlineIATA, string
Destination = destination,
SortDestinationID = sortDestination.Integer64ID,
};
- operationResult = await dataLayer.UpdateAsync(flight);
+ operationResult = await dataLayer.UpdateAsync(flight, TestContext.Current.CancellationToken);
Assert.True(operationResult.IsSuccessStatusCode, "The operation should have been successful."); //The operation must have been successful.
Assert.IsType(operationResult.DataObject); //A flight must have been returned.
@@ -891,7 +891,7 @@ public async Task VerifyUpdateFlightAirlineNotFoundFailure()
Name = "Update Flight Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight createdFlight)
{
@@ -905,7 +905,7 @@ public async Task VerifyUpdateFlightAirlineNotFoundFailure()
Name = "Update Flight Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -946,12 +946,12 @@ public async Task VerifyUpdateFlightBadDestinationFailure()
Name = "Update Bad Destination Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight flight)
{
flight.Destination = BadFormatttedDestination;
- operationResult = await dataLayer.UpdateAsync(flight);
+ operationResult = await dataLayer.UpdateAsync(flight, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -992,12 +992,12 @@ public async Task VerifyUpdateFlightBadFlightNumberFailure()
Name = "Update Bad Flight Number Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight flight)
{
flight.FlightNumber = BadFormatttedFlightNumber;
- operationResult = await dataLayer.UpdateAsync(flight);
+ operationResult = await dataLayer.UpdateAsync(flight, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -1038,7 +1038,7 @@ public async Task VerifyUpdateFlightCodeShareAirlineNotFoundFailure()
Name = "Update Flight CodeShare Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight createdFlight)
{
@@ -1053,7 +1053,7 @@ public async Task VerifyUpdateFlightCodeShareAirlineNotFoundFailure()
Name = "Update Flight CodeShare Airline Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -1094,7 +1094,7 @@ public async Task VerifyUpdateFlightGateNotFoundFailure()
Name = "Update Flight Gate Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight createdFlight)
{
@@ -1108,7 +1108,7 @@ public async Task VerifyUpdateFlightGateNotFoundFailure()
Name = "Update Flight Gate Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -1149,7 +1149,7 @@ public async Task VerifyUpdateFlightSortDestinationNotFoundFailure()
Name = "Update Flight Sort Destination Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = DefaultSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
if (operationResult.IsSuccessStatusCode && operationResult.DataObject is Flight createdFlight)
{
@@ -1163,7 +1163,7 @@ public async Task VerifyUpdateFlightSortDestinationNotFoundFailure()
Name = "Update Flight Sort Destination Not Found Test",
Destination = DefaultAirportCode,
SortDestinationID = BadSortDestinationID,
- });
+ }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
diff --git a/TestProject/Gates/GateWebRequestUnitTest.cs b/TestProject/Gates/GateWebRequestUnitTest.cs
index 4092271..e85498a 100644
--- a/TestProject/Gates/GateWebRequestUnitTest.cs
+++ b/TestProject/Gates/GateWebRequestUnitTest.cs
@@ -40,7 +40,7 @@ public async Task VerifyAddGateNotAllowed()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.CreateAsync(new Gate() { Name = DefaultGateName });
+ OperationResult operationResult = await dataLayer.CreateAsync(new Gate() { Name = DefaultGateName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -63,7 +63,7 @@ public async Task VerifyCountGates()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- long count = await dataLayer.CountAsync();
+ long count = await dataLayer.CountAsync(TestContext.Current.CancellationToken);
Assert.True(count > 0);
}
@@ -76,7 +76,7 @@ public async Task VerifyDeleteGateNotAllowed()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.DeleteAsync(new Gate() { Name = DefaultGateName });
+ OperationResult operationResult = await dataLayer.DeleteAsync(new Gate() { Name = DefaultGateName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -99,7 +99,7 @@ public async Task VerifyGetAllGates()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- List? gates = await dataLayer.GetAllAsync();
+ List? gates = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
//Gates must have been returned.
Assert.NotNull(gates);
@@ -116,7 +116,7 @@ public async Task VerifyGetAllListViewGates()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- List? gates = await dataLayer.GetAllListViewAsync();
+ List? gates = await dataLayer.GetAllListViewAsync(TestContext.Current.CancellationToken);
//List view gates must have been returned.
Assert.NotNull(gates);
@@ -133,7 +133,7 @@ public async Task VerifyGetSingleGate()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- Gate? gate = await dataLayer.GetSingleAsync();
+ Gate? gate = await dataLayer.GetSingleAsync(TestContext.Current.CancellationToken);
Assert.NotNull(gate);
}
@@ -147,7 +147,7 @@ public async Task VerifyGetSingleGateWithId()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- Gate? gate = await dataLayer.GetSingleAsync(1);
+ Gate? gate = await dataLayer.GetSingleAsync(1, TestContext.Current.CancellationToken);
Assert.NotNull(gate);
}
@@ -160,7 +160,7 @@ public async Task VerifyUpdateGateNotAllowed()
HttpClient httpClient = _factory.CreateClient();
GateDataLyaer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.UpdateAsync(new Gate() { Name = DefaultGateName });
+ OperationResult operationResult = await dataLayer.UpdateAsync(new Gate() { Name = DefaultGateName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
diff --git a/TestProject/SortDestinations/SortDestinationWebRequestUnitTest.cs b/TestProject/SortDestinations/SortDestinationWebRequestUnitTest.cs
index 38838b8..883cb24 100644
--- a/TestProject/SortDestinations/SortDestinationWebRequestUnitTest.cs
+++ b/TestProject/SortDestinations/SortDestinationWebRequestUnitTest.cs
@@ -40,7 +40,7 @@ public async Task VerifyAddSortDestinationNotAllowed()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.CreateAsync(new SortDestination() { Name = DefaultSortDestinationName });
+ OperationResult operationResult = await dataLayer.CreateAsync(new SortDestination() { Name = DefaultSortDestinationName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -63,7 +63,7 @@ public async Task VerifyCountSortDestinations()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- long count = await dataLayer.CountAsync();
+ long count = await dataLayer.CountAsync(TestContext.Current.CancellationToken);
Assert.True(count > 0);
}
@@ -76,7 +76,7 @@ public async Task VerifyDeleteSortDestinationNotAllowed()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.DeleteAsync(new SortDestination() { Name = DefaultSortDestinationName });
+ OperationResult operationResult = await dataLayer.DeleteAsync(new SortDestination() { Name = DefaultSortDestinationName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
@@ -99,7 +99,7 @@ public async Task VerifyGetAllSortDestinations()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- List? sortDestinations = await dataLayer.GetAllAsync();
+ List? sortDestinations = await dataLayer.GetAllAsync(TestContext.Current.CancellationToken);
//Sort destinations must have been returned.
Assert.NotNull(sortDestinations);
@@ -116,7 +116,7 @@ public async Task VerifyGetAllListViewSortDestinations()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- List? sortDestinations = await dataLayer.GetAllListViewAsync();
+ List? sortDestinations = await dataLayer.GetAllListViewAsync(TestContext.Current.CancellationToken);
//List view sort destinations must have been returned.
Assert.NotNull(sortDestinations);
@@ -133,7 +133,7 @@ public async Task VerifyGetSingleSortDestination()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- SortDestination? sortDestination = await dataLayer.GetSingleAsync();
+ SortDestination? sortDestination = await dataLayer.GetSingleAsync(TestContext.Current.CancellationToken);
Assert.NotNull(sortDestination);
}
@@ -147,7 +147,7 @@ public async Task VerifyGetSingleSortDestinationWithId()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- SortDestination? sortDestination = await dataLayer.GetSingleAsync(1);
+ SortDestination? sortDestination = await dataLayer.GetSingleAsync(1, TestContext.Current.CancellationToken);
Assert.NotNull(sortDestination);
}
@@ -160,7 +160,7 @@ public async Task VerifyUpdateSortDestinationNotAllowed()
HttpClient httpClient = _factory.CreateClient();
SortDestinationDataLayer dataLayer = new(httpClient);
- OperationResult operationResult = await dataLayer.UpdateAsync(new SortDestination() { Name = DefaultSortDestinationName });
+ OperationResult operationResult = await dataLayer.UpdateAsync(new SortDestination() { Name = DefaultSortDestinationName }, TestContext.Current.CancellationToken);
//The operation must have failed.
Assert.False(operationResult.IsSuccessStatusCode, "The operation should have failed.");
From ddc30de888c1f3ff5bad1810dae394742d2ee30f Mon Sep 17 00:00:00 2001
From: jmayer913 <72579603+jmayer913@users.noreply.github.com>
Date: Sun, 26 Apr 2026 13:28:13 -0400
Subject: [PATCH 3/3] Updated npm packages
---
.../package-lock.json | 152 +++++++++++-------
1 file changed, 92 insertions(+), 60 deletions(-)
diff --git a/jmayer.example.aspreact.client/package-lock.json b/jmayer.example.aspreact.client/package-lock.json
index 6500c7b..0a7c451 100644
--- a/jmayer.example.aspreact.client/package-lock.json
+++ b/jmayer.example.aspreact.client/package-lock.json
@@ -716,14 +716,15 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
- "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "version": "0.21.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz",
+ "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@eslint/object-schema": "^2.1.7",
"debug": "^4.3.1",
- "minimatch": "^3.1.2"
+ "minimatch": "^3.1.5"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -754,19 +755,20 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz",
+ "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ajv": "^6.12.4",
+ "ajv": "^6.14.0",
"debug": "^4.3.2",
"espree": "^10.0.1",
"globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
+ "js-yaml": "^4.1.1",
+ "minimatch": "^3.1.5",
"strip-json-comments": "^3.1.1"
},
"engines": {
@@ -781,6 +783,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -789,10 +792,11 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.39.2",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz",
- "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
+ "version": "9.39.4",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz",
+ "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -805,6 +809,7 @@
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
"integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
@@ -1227,9 +1232,10 @@
"dev": true
},
"node_modules/@types/react": {
- "version": "19.2.9",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz",
- "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==",
+ "version": "19.2.14",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
+ "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
+ "license": "MIT",
"dependencies": {
"csstype": "^3.2.2"
}
@@ -1272,10 +1278,11 @@
}
},
"node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
+ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -1288,15 +1295,17 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "version": "6.15.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -1327,7 +1336,8 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/array-buffer-byte-length": {
"version": "1.0.2",
@@ -1584,6 +1594,7 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -2060,24 +2071,25 @@
}
},
"node_modules/eslint": {
- "version": "9.39.2",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz",
- "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
+ "version": "9.39.4",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz",
+ "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.1",
+ "@eslint/config-array": "^0.21.2",
"@eslint/config-helpers": "^0.4.2",
"@eslint/core": "^0.17.0",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.39.2",
+ "@eslint/eslintrc": "^3.3.5",
+ "@eslint/js": "9.39.4",
"@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
- "ajv": "^6.12.4",
+ "ajv": "^6.14.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
@@ -2096,7 +2108,7 @@
"is-glob": "^4.0.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
+ "minimatch": "^3.1.5",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3"
},
@@ -2192,6 +2204,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -2204,6 +2217,7 @@
"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.15.0",
"acorn-jsx": "^5.3.2",
@@ -2262,13 +2276,15 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
@@ -2608,6 +2624,7 @@
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -2617,6 +2634,7 @@
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -3043,10 +3061,11 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -3076,7 +3095,8 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -3184,10 +3204,11 @@
}
},
"node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -3399,6 +3420,7 @@
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -3543,33 +3565,37 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/react": {
- "version": "19.2.3",
- "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
- "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
+ "version": "19.2.5",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz",
+ "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
- "version": "19.2.3",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
- "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
+ "version": "19.2.5",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz",
+ "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==",
+ "license": "MIT",
"dependencies": {
"scheduler": "^0.27.0"
},
"peerDependencies": {
- "react": "^19.2.3"
+ "react": "^19.2.5"
}
},
"node_modules/react-is": {
- "version": "19.2.3",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz",
- "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA=="
+ "version": "19.2.5",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.5.tgz",
+ "integrity": "sha512-Dn0t8IQhCmeIT3wu+Apm1/YVsJXsGWi6k4sPdnBIdqMVtHtv0IGi6dcpNpNkNac0zB2uUAqNX3MHzN8c+z2rwQ==",
+ "license": "MIT"
},
"node_modules/react-refresh": {
"version": "0.17.0",
@@ -3581,9 +3607,10 @@
}
},
"node_modules/react-router": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.12.0.tgz",
- "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==",
+ "version": "7.14.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.14.2.tgz",
+ "integrity": "sha512-yCqNne6I8IB6rVCH7XUvlBK7/QKyqypBFGv+8dj4QBFJiiRX+FG7/nkdAvGElyvVZ/HQP5N19wzteuTARXi5Gw==",
+ "license": "MIT",
"dependencies": {
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0"
@@ -3602,11 +3629,12 @@
}
},
"node_modules/react-router-dom": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.12.0.tgz",
- "integrity": "sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==",
+ "version": "7.14.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.14.2.tgz",
+ "integrity": "sha512-YZcM5ES8jJSM+KrJ9BdvHHqlnGTg5tH3sC5ChFRj4inosKctdyzBDhOyyHdGk597q2OT6NTrCA1OvB/YDwfekQ==",
+ "license": "MIT",
"dependencies": {
- "react-router": "7.12.0"
+ "react-router": "7.14.2"
},
"engines": {
"node": ">=20.0.0"
@@ -3695,6 +3723,7 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -4066,6 +4095,7 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -4251,14 +4281,16 @@
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/vite": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz",
- "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz",
+ "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==",
+ "license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",