chore: graph ql errors more info. Plus vehicle dictionary mapping error fix

This commit is contained in:
Mikhail Shabanov committed 2022-08-20 17:16:57 +02:00
1 parent 7d524fcdcd
commit 416f631d3f
7 files changed
+20 -15

No files matched your search

@@ -92,7 +92,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
players.Should().NotBeNull(); players.Should().NotBeNull();
players.Should().NotBeEmpty(); players.Should().NotBeEmpty();
_findPlayersQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _findPlayersQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Never); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
} }
[Test] [Test]
@@ -107,7 +107,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
players.Should().BeNull(); players.Should().BeNull();
_findPlayersQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _findPlayersQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Once); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
} }
@@ -123,7 +123,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
clans.Should().NotBeNull(); clans.Should().NotBeNull();
clans.Should().NotBeEmpty(); clans.Should().NotBeEmpty();
_findClanQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _findClanQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Never); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
} }
@@ -139,7 +139,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
players.Should().BeNull(); players.Should().BeNull();
_findClanQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _findClanQueryMock.Verify(q => q.ExecuteAsync(expectedSearch, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Once); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
} }
[Test] [Test]
@@ -156,7 +156,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
playerInfoResponse.achievementsBySection.Should().NotBeEmpty(); playerInfoResponse.achievementsBySection.Should().NotBeEmpty();
_playerQueryMock.Verify(q => q.ExecuteAsync(CurrentAccountId, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _playerQueryMock.Verify(q => q.ExecuteAsync(CurrentAccountId, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Never); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
} }
[Test] [Test]
@@ -172,7 +172,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
playerInfoResponse.achievementsBySection.Should().BeNull(); playerInfoResponse.achievementsBySection.Should().BeNull();
_playerQueryMock.Verify(q => q.ExecuteAsync(CurrentAccountId, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once); _playerQueryMock.Verify(q => q.ExecuteAsync(CurrentAccountId, expectedRealm, It.IsAny<RequestLanguage>(), It.IsAny<CancellationToken>()), Times.Once);
_notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>()), Times.Once); _notificationServiceMock.Verify(n => n.ReportError(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
} }
private async Task SetUpFindPlayers() private async Task SetUpFindPlayers()
@@ -57,7 +57,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
} }
catch (System.Exception e) catch (System.Exception e)
{ {
Notifications.ReportError("Can not get data from backend", e.Message); Notifications.ReportError("Can not get data from backend", e.Message, e.StackTrace);
} }
} }
} }
@@ -76,7 +76,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
{ {
TreeItems.Clear(); TreeItems.Clear();
Connections.Clear(); Connections.Clear();
var vehiclesTree = VehiclesLibrary.Where(v => v.IsPremium == false).ToList(); var vehiclesTree = VehiclesLibrary?.Where(v => v != null && v.IsPremium == false).ToList();
for (int tier = 1; tier < 11; tier++) for (int tier = 1; tier < 11; tier++)
{ {
var vehiclesByTier = vehiclesTree.Where(v => v.Tier == tier).ToList(); var vehiclesByTier = vehiclesTree.Where(v => v.Tier == tier).ToList();
@@ -279,7 +279,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
} }
catch (System.Exception e) catch (System.Exception e)
{ {
Notifications.ReportError("Can not get data from backend", e.Message); Notifications.ReportError("Can not get data from backend", e.Message, e.StackTrace);
} }
} }
@@ -132,6 +132,10 @@ namespace WotBlitzStatisticsPro.Blazor.Services
{ {
messages.Add(message.ToString()); messages.Add(message.ToString());
} }
else
{
messages.Add(realError);
}
} }
} }
} }
@@ -140,7 +144,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services
if (messages.Count > 0) if (messages.Count > 0)
{ {
_notificationsService.ReportError("Backend error",string.Join(";", messages)); _notificationsService.ReportError("Backend error",string.Join(";", messages), null);
} }
} }
} }
@@ -14,6 +14,6 @@ namespace WotBlitzStatisticsPro.Blazor.Services
void ReportInfo(string summary, string message); void ReportInfo(string summary, string message);
void ReportWarning(string summary, string message); void ReportWarning(string summary, string message);
void ReportError(string summary, string message); void ReportError(string summary, string message, string? stacktrace);
} }
} }
@@ -39,13 +39,14 @@ namespace WotBlitzStatisticsPro.Blazor.Services
_jsRuntime.InvokeVoidAsync("console.warn", summary, message); _jsRuntime.InvokeVoidAsync("console.warn", summary, message);
} }
public void ReportError(string summary, string message) public void ReportError(string summary, string message, string? stacktrace)
{ {
Type = NotificationType.Error; Type = NotificationType.Error;
Message = message; Message = message;
Summary = summary; Summary = summary;
MessageArrived?.Invoke(); MessageArrived?.Invoke();
_jsRuntime.InvokeVoidAsync("console.error", summary, message); Console.WriteLine(message);
_jsRuntime.InvokeVoidAsync("console.error", summary, string.IsNullOrEmpty(stacktrace) ? message : $"{message}; {stacktrace}");
} }
} }
} }
@@ -42,10 +42,10 @@ namespace WotBlitzStatisticsPro.Logic.Mappers
CreateMap<IVehiclesDictionary, VehicleResponse>() CreateMap<IVehiclesDictionary, VehicleResponse>()
.ForMember(v => v.Name, .ForMember(v => v.Name,
o => o.MapFrom((src, dest, destMember, context) => o => o.MapFrom((src, dest, destMember, context) =>
src.Name.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value)) src.Name.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value ?? string.Empty))
.ForMember(v => v.Description, .ForMember(v => v.Description,
o => o.MapFrom((src, dest, destMember, context) => o => o.MapFrom((src, dest, destMember, context) =>
src.Description.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value)) src.Description.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value ?? string.Empty))
.ForMember(v => v.NexTanksInTree, .ForMember(v => v.NexTanksInTree,
o => o.MapFrom(src => src.NexTanksInTree.Select(t => t.TankId).ToList())) o => o.MapFrom(src => src.NexTanksInTree.Select(t => t.TankId).ToList()))
; ;