V2.4.1 Improve code quality, add list thumbnail, improve UI, share to others, add generic import, add Playwright tests - #468
Quality Gate failed
Failed conditions
C Reliability Rating on New Code (required ≥ A)
See analysis details on SonarQube Cloud
Catch issues before they fail your Quality Gate with our IDE extension
SonarQube for IDE
Annotations
Check warning on line 35 in src/BlazorApp/Components/Inventory/Shared/ReferenceMatchControls.razor
sonarqubecloud / SonarCloud Code Analysis
A static field in a generic type is not shared among instances of different close constructed types.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz9rEmMK9uS9EQ1EW&open=AaDyz9rEmMK9uS9EQ1EW&pullRequest=468
Check warning on line 79 in test/BlazorApp.UnitTests/Components/Shared/ChartsTest.cs
sonarqubecloud / SonarCloud Code Analysis
Use 'GeneratedRegexAttribute' to generate the regular expression implementation at compile-time.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-V-mMK9uS9EQ1En&open=AaDyz-V-mMK9uS9EQ1En&pullRequest=468
Check warning on line 13 in src/Domain/Repositories/IAlbumRepository.cs
sonarqubecloud / SonarCloud Code Analysis
Method has 9 parameters, which is greater than the 7 authorized.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDzOJGqN_yYt-XFScYG&open=AaDzOJGqN_yYt-XFScYG&pullRequest=468
Check warning on line 192 in test/WebApi.UnitTests/ReferenceData/OmdbClientTest.cs
sonarqubecloud / SonarCloud Code Analysis
The type argument Exception might not be serializable, which may cause Test Explorer to not enumerate individual data rows. Consider using a type that is known to be serializable.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO66ORjJxraIUcBuf&open=AZ_IO66ORjJxraIUcBuf&pullRequest=468
Check warning on line 63 in scripts/load-runsettings.js
sonarqubecloud / SonarCloud Code Analysis
This pattern can be replaced with '&'.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDzOJfZN_yYt-XFScYL&open=AaDzOJfZN_yYt-XFScYL&pullRequest=468
Check warning on line 131 in src/WebApi/ReferenceData/ExploreCatalogueRefreshService.cs
sonarqubecloud / SonarCloud Code Analysis
Evaluation of this argument may be expensive and unnecessary if logging is disabled
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO6j3RjJxraIUcBuX&open=AZ_IO6j3RjJxraIUcBuX&pullRequest=468
Check warning on line 96 in scripts/firebase-user-role.js
sonarqubecloud / SonarCloud Code Analysis
Prefer top-level await over using a promise chain.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-WTmMK9uS9EQ1Eq&open=AaDyz-WTmMK9uS9EQ1Eq&pullRequest=468
Check failure on line 152 in src/WebApi/ReferenceData/ExploreCatalogueRefreshService.cs
sonarqubecloud / SonarCloud Code Analysis
Refactor this method to reduce its Cognitive Complexity from 29 to the 15 allowed.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz9iwmMK9uS9EQ1ET&open=AaDyz9iwmMK9uS9EQ1ET&pullRequest=468
Check warning on line 83 in src/Domain/Services/ReferenceMatchRules.cs
sonarqubecloud / SonarCloud Code Analysis
Extract this nested ternary operation into an independent statement.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-FbmMK9uS9EQ1Eg&open=AaDyz-FbmMK9uS9EQ1Eg&pullRequest=468
Check warning on line 135 in src/WebApi/Program.cs
sonarqubecloud / SonarCloud Code Analysis
Refactor your code not to use hardcoded absolute paths or URIs.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_O1Tugnvllwip2bu7F&open=AZ_O1Tugnvllwip2bu7F&pullRequest=468
Check warning on line 25 in src/WebApi/Mappers/ShareDtoMapper.cs
sonarqubecloud / SonarCloud Code Analysis
Mapping the nullable source property Id of Keeptrack.Domain.Models.ShareModel to the target property Id of Keeptrack.WebApi.Contracts.Dto.ShareDto which is not nullable
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ-qprcmsd3ZM4FyUZT5&open=AZ-qprcmsd3ZM4FyUZT5&pullRequest=468
Check warning on line 58 in test/WebApi.UnitTests/Filters/ApiExceptionFilterAttributeTest.cs
sonarqubecloud / SonarCloud Code Analysis
The type argument Exception might not be serializable, which may cause Test Explorer to not enumerate individual data rows. Consider using a type that is known to be serializable.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_O1USGnvllwip2bu7M&open=AZ_O1USGnvllwip2bu7M&pullRequest=468
Check warning on line 252 in src/BlazorApp/Components/Inventory/InventoryPageBase.cs
sonarqubecloud / SonarCloud Code Analysis
A static field in a generic type is not shared among instances of different close constructed types.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz9t_mMK9uS9EQ1Eb&open=AaDyz9t_mMK9uS9EQ1Eb&pullRequest=468
sonarqubecloud / SonarCloud Code Analysis
Test class 'Keeptrack.WebApi.IntegrationTests.Resources.ReferenceDataAdminProviderDefaultResourceTest' does not contain constructor argument of type 'Keeptrack.WebApi.IntegrationTests.Hosting.KestrelWebAppFactory<Keeptrack.WebApi.Program>'. Add a constructor argument to consume the fixture data.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-QomMK9uS9EQ1Ej&open=AaDyz-QomMK9uS9EQ1Ej&pullRequest=468
Check warning on line 26 in test/WebApi.IntegrationTests/Resources/ReferenceDataAdminResourceTest.cs
sonarqubecloud / SonarCloud Code Analysis
Test class 'Keeptrack.WebApi.IntegrationTests.Resources.ReferenceDataAdminResourceTest' does not contain constructor argument of type 'Keeptrack.WebApi.IntegrationTests.Hosting.KestrelWebAppFactory<Keeptrack.WebApi.Program>'. Add a constructor argument to consume the fixture data.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-SQmMK9uS9EQ1El&open=AaDyz-SQmMK9uS9EQ1El&pullRequest=468
Check failure on line 108 in src/WebApi/ReferenceData/ExploreCatalogueRefreshService.cs
sonarqubecloud / SonarCloud Code Analysis
This loop's stop condition tests 'rank' but the incrementer updates 'page'.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO6j3RjJxraIUcBuU&open=AZ_IO6j3RjJxraIUcBuU&pullRequest=468
Check warning on line 34 in test/WebApi.IntegrationTests/Resources/ExploreCatalogueRepositoryTest.cs
sonarqubecloud / SonarCloud Code Analysis
Member 'CreateRepository' does not access instance data and can be marked as static
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO64NRjJxraIUcBue&open=AZ_IO64NRjJxraIUcBue&pullRequest=468
Check warning on line 54 in test/Testing.Shared/Firebase/AccountRepository.cs
sonarqubecloud / SonarCloud Code Analysis
Use the lambda parameter instead of capturing the argument 'username'
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AaDyz-LsmMK9uS9EQ1Ei&open=AaDyz-LsmMK9uS9EQ1Ei&pullRequest=468
Check warning on line 201 in src/WebApi/ReferenceData/ReferenceEnrichmentService.TvShowsAndMovies.cs
sonarqubecloud / SonarCloud Code Analysis
Change type of parameter 'ratingsCheckedAt' from 'System.Collections.Generic.IReadOnlyDictionary<string, System.DateTime>' to 'System.Collections.Generic.Dictionary<string, System.DateTime>' for improved performance
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO6g6RjJxraIUcBuN&open=AZ_IO6g6RjJxraIUcBuN&pullRequest=468
Check warning on line 85 in src/WebApi/ReferenceData/TvShowStatusReconciliationService.cs
sonarqubecloud / SonarCloud Code Analysis
Change type of parameter 'episodesByShow' from 'System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.List<Keeptrack.Domain.Models.EpisodeModel>>' to 'System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<Keeptrack.Domain.Models.EpisodeModel>>' for improved performance
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_Eq8ABmaZPOCQ7FzlH&open=AZ_Eq8ABmaZPOCQ7FzlH&pullRequest=468
Check warning on line 29 in test/WebApi.IntegrationTests/Resources/ResourceTestBase.cs
sonarqubecloud / SonarCloud Code Analysis
Change ResourceTestBase.DisposeAsync() to call GC.SuppressFinalize(object). This will prevent derived types that introduce a finalizer from needing to re-implement 'IDisposable' to call it.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_Eq8f_maZPOCQ7FzlZ&open=AZ_Eq8f_maZPOCQ7FzlZ&pullRequest=468
Check warning on line 45 in src/WebApi/ReferenceData/RatingSourceOptions.cs
sonarqubecloud / SonarCloud Code Analysis
Make 'SelectableDomains' a static property.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_UHSN-Izuxv_JAUbb-&open=AZ_UHSN-Izuxv_JAUbb-&pullRequest=468
Check warning on line 210 in src/WebApi/ReferenceData/IgdbClient.cs
sonarqubecloud / SonarCloud Code Analysis
Refactor your code not to use hardcoded absolute paths or URIs.
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_O1Tkgnvllwip2bu6-&open=AZ_O1Tkgnvllwip2bu6-&pullRequest=468
Check warning on line 256 in src/WebApi/ReferenceData/ReferenceEnrichmentService.VideoGames.cs
sonarqubecloud / SonarCloud Code Analysis
Evaluation of this argument may be expensive and unnecessary if logging is disabled
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_O1TqPnvllwip2bu7B&open=AZ_O1TqPnvllwip2bu7B&pullRequest=468
Check warning on line 166 in src/WebApi/ReferenceData/ExploreCatalogueRefreshService.cs
sonarqubecloud / SonarCloud Code Analysis
Evaluation of this argument may be expensive and unnecessary if logging is disabled
See more on https://sonarcloud.io/project/issues?id=devpro_keeptrack&issues=AZ_IO6j3RjJxraIUcBuY&open=AZ_IO6j3RjJxraIUcBuY&pullRequest=468