diff --git a/Parbad.sln b/Parbad.sln index e4f5c64a..6a0a4470 100644 --- a/Parbad.sln +++ b/Parbad.sln @@ -107,6 +107,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Parbad.Gateway.IranKish", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Parbad.Gateway.IranKish.Tests", "src\Parbad.Gateway\IranKish\tests\Parbad.Gateway.IranKish.Tests.csproj", "{8A1C135B-12A5-42AB-A2F2-2660146ACB0C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Parbad.FrameworkCompatibility.Tests", "tests\Parbad.FrameworkCompatibility.Tests\Parbad.FrameworkCompatibility.Tests.csproj", "{60BF4F46-AB43-4164-B55F-229F6FCCE0DC}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution src\Parbad.Shared\Parbad.Shared.projitems*{2e124fc2-6fa6-45e1-9912-edca1c19cef7}*SharedItemsImports = 13 @@ -210,6 +212,10 @@ Global {8A1C135B-12A5-42AB-A2F2-2660146ACB0C}.Debug|Any CPU.Build.0 = Debug|Any CPU {8A1C135B-12A5-42AB-A2F2-2660146ACB0C}.Release|Any CPU.ActiveCfg = Release|Any CPU {8A1C135B-12A5-42AB-A2F2-2660146ACB0C}.Release|Any CPU.Build.0 = Release|Any CPU + {60BF4F46-AB43-4164-B55F-229F6FCCE0DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {60BF4F46-AB43-4164-B55F-229F6FCCE0DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {60BF4F46-AB43-4164-B55F-229F6FCCE0DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {60BF4F46-AB43-4164-B55F-229F6FCCE0DC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -258,6 +264,7 @@ Global {9D40B01A-7B71-40F8-8AEC-91C63438DFA0} = {B1447D20-66E0-46FB-B0DB-BCBEBA7B337A} {9252FE79-9908-46C3-AAF2-C5F7426EDF84} = {9D40B01A-7B71-40F8-8AEC-91C63438DFA0} {8A1C135B-12A5-42AB-A2F2-2660146ACB0C} = {9D40B01A-7B71-40F8-8AEC-91C63438DFA0} + {60BF4F46-AB43-4164-B55F-229F6FCCE0DC} = {6BB6AFB4-7951-4435-8C10-95AF86B200F8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {CBDDB699-C14A-4235-B0AE-32725230B4ED} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3586eeea..26042ecd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,53 +11,112 @@ pool: variables: buildConfiguration: 'release' projects: 'src/**/*.csproj' + dotnetRoot: '$(Agent.ToolsDirectory)/dotnet' steps: -- task: NuGetToolInstaller@1 - displayName: 'Use Nuget' +- task: UseDotNet@2 + displayName: 'Use .NET Core 3.0 SDK' + inputs: + packageType: 'sdk' + version: '3.0.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET Core 3.1 SDK' + inputs: + packageType: 'sdk' + version: '3.1.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET 5 SDK' + inputs: + packageType: 'sdk' + version: '5.0.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET 6 SDK' + inputs: + packageType: 'sdk' + version: '6.0.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET 7 SDK' + inputs: + packageType: 'sdk' + version: '7.0.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET 8 SDK' inputs: - versionSpec: - checkLatest: true + packageType: 'sdk' + version: '8.0.x' + installationPath: '$(dotnetRoot)' + - task: UseDotNet@2 - displayName: Use Dotnet + displayName: 'Use .NET 9 SDK' inputs: - packageType: sdk - version: 9.x -- task: NuGetCommand@2 + packageType: 'sdk' + version: '9.0.x' + installationPath: '$(dotnetRoot)' + +- task: UseDotNet@2 + displayName: 'Use .NET 10 SDK' + inputs: + packageType: 'sdk' + version: '10.0.x' + installationPath: '$(dotnetRoot)' + +- script: | + dotnet --info + dotnet --list-sdks + dotnet --list-runtimes + displayName: 'Show .NET SDKs and runtimes' + +- task: DotNetCoreCLI@2 displayName: 'restoring' inputs: command: 'restore' - restoreSolution: '**/*.sln' + projects: '**/*.sln' feedsToUse: 'select' + - task: DotNetCoreCLI@2 displayName: 'building' inputs: command: 'build' - projects: $(projects) - arguments: '-c $(buildConfiguration)' + projects: '$(projects)' + arguments: '-c $(buildConfiguration) --no-restore' + - task: DotNetCoreCLI@2 displayName: 'testing' inputs: command: 'test' projects: '**/*.Tests.csproj' + arguments: '-c $(buildConfiguration) --no-restore --verbosity normal' + - task: DotNetCoreCLI@2 displayName: 'packing' condition: eq(variables['build.sourceBranch'], 'refs/heads/dev') inputs: command: 'custom' - projects: $(projects) + projects: '$(projects)' custom: 'pack' arguments: '-c $(buildConfiguration) --no-build -o $(Build.ArtifactStagingDirectory) --version-suffix dev$(Build.BuildNumber)' + - task: DotNetCoreCLI@2 displayName: 'packing' condition: eq(variables['build.sourceBranch'], 'refs/heads/master') inputs: command: 'custom' - projects: $(projects) + projects: '$(projects)' custom: 'pack' arguments: '-c $(buildConfiguration) --no-build -o $(Build.ArtifactStagingDirectory)' + - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'packages' - publishLocation: 'Container' + publishLocation: 'Container' \ No newline at end of file diff --git a/src/Parbad.AspNetCore/src/Parbad.AspNetCore.csproj b/src/Parbad.AspNetCore/src/Parbad.AspNetCore.csproj index 187016de..b36aaee5 100644 --- a/src/Parbad.AspNetCore/src/Parbad.AspNetCore.csproj +++ b/src/Parbad.AspNetCore/src/Parbad.AspNetCore.csproj @@ -3,8 +3,8 @@ Parbad.AspNetCore Parbad.AspNetCore - 1.5.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.6.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -20,7 +20,7 @@ For more information see: https://www.nuget.org/packages/Parbad/ parbad aspnetcore Payment Gateway Bank Iran Shetab IranKish Mellat Melli Sadad Parsian Pasargad Saman Asan-Pardakht پرداخت درگاه بانک ایران شتاب ایران-کیش ملت ملی سداد پارسیان پاسارگاد سامان آسان-پرداخت true LGPL-3.0-or-later - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.10.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -36,9 +36,10 @@ For more information see: https://www.nuget.org/packages/Parbad/ + - + diff --git a/src/Parbad.AspNetCore/src/VirtualGateway/ParbadVirtualGatewayMiddlewareExtensions.cs b/src/Parbad.AspNetCore/src/VirtualGateway/ParbadVirtualGatewayMiddlewareExtensions.cs index 405b83c8..654287e2 100644 --- a/src/Parbad.AspNetCore/src/VirtualGateway/ParbadVirtualGatewayMiddlewareExtensions.cs +++ b/src/Parbad.AspNetCore/src/VirtualGateway/ParbadVirtualGatewayMiddlewareExtensions.cs @@ -21,9 +21,9 @@ public static IApplicationBuilder UseParbadVirtualGatewayWhenDeveloping(this IAp { if (builder == null) throw new ArgumentNullException(nameof(builder)); -#if NETCOREAPP3_0 || Net_5 || Net_6 || Net_7 || Net_8 - var hostEnvironment = builder.ApplicationServices.GetRequiredService(); - var isDevelopment = Microsoft.Extensions.Hosting.HostEnvironmentEnvExtensions.IsDevelopment(hostEnvironment); +#if NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0_OR_GREATER + var hostEnvironment = builder.ApplicationServices.GetRequiredService(); + var isDevelopment = Microsoft.Extensions.Hosting.HostEnvironmentEnvExtensions.IsDevelopment(hostEnvironment); #else var hostEnvironment = builder.ApplicationServices.GetRequiredService(); var isDevelopment = Hosting.HostingEnvironmentExtensions.IsDevelopment(hostEnvironment); @@ -68,4 +68,4 @@ public static IApplicationBuilder UseParbadVirtualGateway(this IApplicationBuild return builder.Map(options.Value.GatewayPath, applicationBuilder => applicationBuilder.UseMiddleware()); } -} \ No newline at end of file +} diff --git a/src/Parbad.Gateway/FanAva/src/Parbad.Gateway.FanAva.csproj b/src/Parbad.Gateway/FanAva/src/Parbad.Gateway.FanAva.csproj index 2c8c83e5..5af53543 100644 --- a/src/Parbad.Gateway/FanAva/src/Parbad.Gateway.FanAva.csproj +++ b/src/Parbad.Gateway/FanAva/src/Parbad.Gateway.FanAva.csproj @@ -2,8 +2,8 @@ Parbad.Gateway.FanAva - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 - 1.4.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 + 1.5.0 latest Mohammad Mokhtari Copyright © Sina Soltani 2016 @@ -15,7 +15,7 @@ true parbad Payment Gateway FanAva پرداخت درگاه بانک فن آوا true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 FanAva Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/FanAva/tests/Parbad.Gateway.FanAva.Tests.csproj b/src/Parbad.Gateway/FanAva/tests/Parbad.Gateway.FanAva.Tests.csproj index c78f7f05..9d7af7e3 100644 --- a/src/Parbad.Gateway/FanAva/tests/Parbad.Gateway.FanAva.Tests.csproj +++ b/src/Parbad.Gateway/FanAva/tests/Parbad.Gateway.FanAva.Tests.csproj @@ -1,11 +1,21 @@ - net9.0 + net10.0 latest false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/src/Parbad.Gateway/IdPay/src/Parbad.Gateway.IdPay.csproj b/src/Parbad.Gateway/IdPay/src/Parbad.Gateway.IdPay.csproj index ed4be312..6e46ac07 100644 --- a/src/Parbad.Gateway/IdPay/src/Parbad.Gateway.IdPay.csproj +++ b/src/Parbad.Gateway/IdPay/src/Parbad.Gateway.IdPay.csproj @@ -1,8 +1,8 @@ - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 - 1.6.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 + 1.7.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -14,7 +14,7 @@ true parbad Payment Gateway Bank Iran Shetab idpay پرداخت درگاه بانک ایران شتاب true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 IDPay.ir Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/IdPay/tests/Parbad.Gateway.IdPay.Tests.csproj b/src/Parbad.Gateway/IdPay/tests/Parbad.Gateway.IdPay.Tests.csproj index 45d35399..d8572b65 100644 --- a/src/Parbad.Gateway/IdPay/tests/Parbad.Gateway.IdPay.Tests.csproj +++ b/src/Parbad.Gateway/IdPay/tests/Parbad.Gateway.IdPay.Tests.csproj @@ -1,11 +1,21 @@ - net9.0 + net10.0 latest false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/src/Parbad.Gateway/IranKish/src/Parbad.Gateway.IranKish.csproj b/src/Parbad.Gateway/IranKish/src/Parbad.Gateway.IranKish.csproj index a7b15a9c..7812a967 100644 --- a/src/Parbad.Gateway/IranKish/src/Parbad.Gateway.IranKish.csproj +++ b/src/Parbad.Gateway/IranKish/src/Parbad.Gateway.IranKish.csproj @@ -3,8 +3,8 @@ Parbad.Gateway.IranKish Parbad.Gateway.IranKish - 1.3.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.4.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -16,7 +16,7 @@ true parbad Payment gateway bank Iran shetab irankish پرداخت درگاه بانک ایران کیش true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 IranKish Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/IranKish/tests/Parbad.Gateway.IranKish.Tests.csproj b/src/Parbad.Gateway/IranKish/tests/Parbad.Gateway.IranKish.Tests.csproj index b8c73ac9..d81ebfb1 100644 --- a/src/Parbad.Gateway/IranKish/tests/Parbad.Gateway.IranKish.Tests.csproj +++ b/src/Parbad.Gateway/IranKish/tests/Parbad.Gateway.IranKish.Tests.csproj @@ -1,13 +1,23 @@ - net9.0 + net10.0 latest enable enable false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/src/Parbad.Gateway/PayIr/src/Parbad.Gateway.PayIr.csproj b/src/Parbad.Gateway/PayIr/src/Parbad.Gateway.PayIr.csproj index e7da1289..1f2e75ef 100644 --- a/src/Parbad.Gateway/PayIr/src/Parbad.Gateway.PayIr.csproj +++ b/src/Parbad.Gateway/PayIr/src/Parbad.Gateway.PayIr.csproj @@ -3,8 +3,8 @@ Parbad.Gateway.PayIr Parbad.Gateway.PayIr - 1.8.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.9.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -16,7 +16,7 @@ true parbad Payment Gateway Bank Iran Shetab pay.ir پرداخت درگاه بانک ایران شتاب پی true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 Pay.ir Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/PayPing/src/Parbad.Gateway.PayPing.csproj b/src/Parbad.Gateway/PayPing/src/Parbad.Gateway.PayPing.csproj index 1e2da967..f5de6d57 100644 --- a/src/Parbad.Gateway/PayPing/src/Parbad.Gateway.PayPing.csproj +++ b/src/Parbad.Gateway/PayPing/src/Parbad.Gateway.PayPing.csproj @@ -2,8 +2,8 @@ Parbad.Gateway.PayPing Parbad.Gateway.PayPing - 1.5.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.6.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Ali Zaferany Copyright © Parbad 2016 @@ -16,7 +16,7 @@ LGPL-3.0-or-later false true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 PayPing Gateway for Parbad project. For more information see: https://github.com/Sina-Soltani/Parbad diff --git a/src/Parbad.Gateway/Sepehr/src/Parbad.Gateway.Sepehr.csproj b/src/Parbad.Gateway/Sepehr/src/Parbad.Gateway.Sepehr.csproj index 41eebfa2..9c935452 100644 --- a/src/Parbad.Gateway/Sepehr/src/Parbad.Gateway.Sepehr.csproj +++ b/src/Parbad.Gateway/Sepehr/src/Parbad.Gateway.Sepehr.csproj @@ -3,8 +3,8 @@ Parbad.Gateway.Sepehr Parbad.Gateway.Sepehr - 1.7.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.8.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -16,7 +16,7 @@ true parbad Payment gateway bank Iran shetab sepehr mabna پرداخت درگاه بانک ایران شتاب سپهر مبنا کارت true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 Sepehr Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/YekPay/src/Parbad.Gateway.YekPay.csproj b/src/Parbad.Gateway/YekPay/src/Parbad.Gateway.YekPay.csproj index 2efc9196..1c91cf04 100644 --- a/src/Parbad.Gateway/YekPay/src/Parbad.Gateway.YekPay.csproj +++ b/src/Parbad.Gateway/YekPay/src/Parbad.Gateway.YekPay.csproj @@ -3,8 +3,8 @@ Parbad.Gateway.YekPay Parbad.Gateway.YekPay - 1.6.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.7.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -16,7 +16,7 @@ true parbad Payment gateway bank Iran shetab yekpay پرداخت درگاه بانک ایران شتاب یک پی true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 YekPay Gateway for Parbad project. For more information see: https://www.nuget.org/packages/Parbad/ diff --git a/src/Parbad.Gateway/ZarinPal/src/Parbad.Gateway.ZarinPal.csproj b/src/Parbad.Gateway/ZarinPal/src/Parbad.Gateway.ZarinPal.csproj index dfa74fbc..97737cf5 100644 --- a/src/Parbad.Gateway/ZarinPal/src/Parbad.Gateway.ZarinPal.csproj +++ b/src/Parbad.Gateway/ZarinPal/src/Parbad.Gateway.ZarinPal.csproj @@ -3,8 +3,8 @@ Parbad.Gateway.ZarinPal Parbad.Gateway.ZarinPal - 1.7.1 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net6.0;net7.0;net8;net9.0 + 1.8.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net6.0;net7.0;net8;net9.0;net10.0 latest Sina Soltani Copyright © Sina Soltani 2016 @@ -19,7 +19,7 @@ ZarinPal Gateway for Parbad project. For more information see: https://github.com/Sina-Soltani/Parbad - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 diff --git a/src/Parbad.Gateway/Zibal/src/Parbad.Gateway.Zibal.csproj b/src/Parbad.Gateway/Zibal/src/Parbad.Gateway.Zibal.csproj index da5c00e3..f26caf7a 100644 --- a/src/Parbad.Gateway/Zibal/src/Parbad.Gateway.Zibal.csproj +++ b/src/Parbad.Gateway/Zibal/src/Parbad.Gateway.Zibal.csproj @@ -4,8 +4,8 @@ Parbad.Gateway.Zibal Parbad.Gateway.Zibal enable - 1.4.0 - netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0 + 1.5.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Mohammad Ashrafi Copyright © Sina Soltani 2016 @@ -17,7 +17,7 @@ true parbad Payment Gateway Bank Iran Shetab zibal پرداخت درگاه بانک ایران شتاب زیبال True - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 Zibal Gateway for Parbad project. For more information see: https://github.com/Sina-Soltani/Parbad diff --git a/src/Parbad.Mvc/src/Parbad.Mvc.csproj b/src/Parbad.Mvc/src/Parbad.Mvc.csproj index 95f91e78..ac5caeb0 100644 --- a/src/Parbad.Mvc/src/Parbad.Mvc.csproj +++ b/src/Parbad.Mvc/src/Parbad.Mvc.csproj @@ -3,7 +3,7 @@ Parbad.Mvc5 Parbad.Mvc5 - 2.3.0 + 2.4.0 net462 9 Sina Soltani @@ -20,7 +20,7 @@ For more information see: https://www.nuget.org/packages/Parbad/ parbad mvc Payment Gateway Bank Iran Shetab IranKish Mellat Melli Sadad Parsian Pasargad Saman Asan-Pardakht پرداخت درگاه بانک ایران شتاب ایران-کیش ملت ملی سداد پارسیان پاسارگاد سامان آسان-پرداخت true LGPL-3.0-or-later - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.9.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -35,7 +35,7 @@ For more information see: https://www.nuget.org/packages/Parbad/ - + diff --git a/src/Parbad.Owin/src/Parbad.Owin.csproj b/src/Parbad.Owin/src/Parbad.Owin.csproj index c5fe1f47..8e0d3696 100644 --- a/src/Parbad.Owin/src/Parbad.Owin.csproj +++ b/src/Parbad.Owin/src/Parbad.Owin.csproj @@ -4,7 +4,7 @@ Parbad.Owin Parbad.Owin net462 - 1.3.0 + 1.4.0 latest Sina Soltani Owin integration for Parbad project. @@ -20,7 +20,7 @@ For more information see: https://www.nuget.org/packages/Parbad/ parbad owin webforms Payment Gateway Bank Iran Shetab IranKish Mellat Melli Sadad Parsian Pasargad Saman Asan-Pardakht پرداخت درگاه بانک ایران شتاب ایران-کیش ملت ملی سداد پارسیان پاسارگاد سامان آسان-پرداخت true LGPL-3.0-or-later - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.9.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -35,8 +35,8 @@ For more information see: https://www.nuget.org/packages/Parbad/ - - + + diff --git a/src/Parbad.Storage/Abstractions/Parbad.Storage.Abstractions.csproj b/src/Parbad.Storage/Abstractions/Parbad.Storage.Abstractions.csproj index 98e02b90..b4c7a103 100644 --- a/src/Parbad.Storage/Abstractions/Parbad.Storage.Abstractions.csproj +++ b/src/Parbad.Storage/Abstractions/Parbad.Storage.Abstractions.csproj @@ -3,9 +3,9 @@ Parbad.Storage.Abstractions Parbad.Storage.Abstractions - 1.3.0 + 1.4.0 latest - netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 enable false true @@ -20,7 +20,7 @@ More information: https://github.com/Sina-Soltani/Parbad parbad storage true Sina Soltani - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.10.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -38,7 +38,7 @@ More information: https://github.com/Sina-Soltani/Parbad - + diff --git a/src/Parbad.Storage/Cache/src/Parbad.Storage.Cache.csproj b/src/Parbad.Storage/Cache/src/Parbad.Storage.Cache.csproj index bc851005..9a648158 100644 --- a/src/Parbad.Storage/Cache/src/Parbad.Storage.Cache.csproj +++ b/src/Parbad.Storage/Cache/src/Parbad.Storage.Cache.csproj @@ -2,9 +2,9 @@ Parbad.Storage.Cache - 1.5.0 + 1.6.0 latest - netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 enable false true @@ -20,7 +20,7 @@ More information: https://github.com/Sina-Soltani/Parbad true Sina Soltani Parbad.Storage.Cache - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.10.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -35,14 +35,14 @@ More information: https://github.com/Sina-Soltani/Parbad - + - + diff --git a/src/Parbad.Storage/Cache/tests/DistributedMemoryCacheTests.cs b/src/Parbad.Storage/Cache/tests/DistributedMemoryCacheTests.cs index 23e72085..36283c26 100644 --- a/src/Parbad.Storage/Cache/tests/DistributedMemoryCacheTests.cs +++ b/src/Parbad.Storage/Cache/tests/DistributedMemoryCacheTests.cs @@ -52,9 +52,9 @@ public void Setup() } [TestCleanup] - public ValueTask Cleanup() + public Task Cleanup() { - return _services.DisposeAsync(); + return _services.DisposeAsync().AsTask(); } [TestMethod] diff --git a/src/Parbad.Storage/Cache/tests/MemoryCacheTests.cs b/src/Parbad.Storage/Cache/tests/MemoryCacheTests.cs index 630233b1..53380bca 100644 --- a/src/Parbad.Storage/Cache/tests/MemoryCacheTests.cs +++ b/src/Parbad.Storage/Cache/tests/MemoryCacheTests.cs @@ -52,9 +52,9 @@ public void Setup() } [TestCleanup] - public ValueTask Cleanup() + public Task Cleanup() { - return _services.DisposeAsync(); + return _services.DisposeAsync().AsTask(); } [TestMethod] diff --git a/src/Parbad.Storage/Cache/tests/Parbad.Storage.Cache.Tests.csproj b/src/Parbad.Storage/Cache/tests/Parbad.Storage.Cache.Tests.csproj index ae661946..b6dd9d99 100644 --- a/src/Parbad.Storage/Cache/tests/Parbad.Storage.Cache.Tests.csproj +++ b/src/Parbad.Storage/Cache/tests/Parbad.Storage.Cache.Tests.csproj @@ -1,16 +1,16 @@ - net9.0 + net10.0 latest false - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Parbad.Storage/EntityFrameworkCore/src/EntityFrameworkCoreStorage.cs b/src/Parbad.Storage/EntityFrameworkCore/src/EntityFrameworkCoreStorage.cs index 304c07b8..69455ed5 100644 --- a/src/Parbad.Storage/EntityFrameworkCore/src/EntityFrameworkCoreStorage.cs +++ b/src/Parbad.Storage/EntityFrameworkCore/src/EntityFrameworkCoreStorage.cs @@ -65,6 +65,7 @@ public virtual async Task UpdatePaymentAsync(Payment payment, CancellationToken var record = await Context .Payments + .AsQueryable() .AsNoTracking() .SingleOrDefaultAsync(model => model.Id == payment.Id, cancellationToken); @@ -85,6 +86,7 @@ public virtual async Task DeletePaymentAsync(Payment payment, CancellationToken var record = await Context .Payments + .AsQueryable() .AsNoTracking() .SingleOrDefaultAsync(model => model.Id == payment.Id, cancellationToken); @@ -117,6 +119,7 @@ public virtual async Task UpdateTransactionAsync(Transaction transaction, Cancel var record = await Context .Transactions + .AsQueryable() .SingleOrDefaultAsync(model => model.Id == transaction.Id, cancellationToken); if (record == null) throw new InvalidOperationException($"No transaction records found in database with id {transaction.Id}"); @@ -136,6 +139,7 @@ public virtual async Task DeleteTransactionAsync(Transaction transaction, Cancel var record = await Context .Transactions + .AsQueryable() .SingleOrDefaultAsync(model => model.Id == transaction.Id, cancellationToken); if (record == null) throw new InvalidOperationException($"No transaction records found in database with id {transaction.Id}"); @@ -149,6 +153,7 @@ public virtual async Task DeleteTransactionAsync(Transaction transaction, Cancel public virtual async Task GetPaymentByTrackingNumberAsync(long trackingNumber, CancellationToken cancellationToken = default) { var paymentEntity = await Context.Payments + .AsQueryable() .AsNoTracking() .SingleOrDefaultAsync(payment => payment.TrackingNumber == trackingNumber, cancellationToken); @@ -159,6 +164,7 @@ public virtual async Task DeleteTransactionAsync(Transaction transaction, Cancel public virtual async Task GetPaymentByTokenAsync(string paymentToken, CancellationToken cancellationToken = default) { var paymentEntity = await Context.Payments + .AsQueryable() .AsNoTracking() .SingleOrDefaultAsync(payment => payment.Token == paymentToken, cancellationToken); @@ -168,19 +174,24 @@ public virtual async Task DeleteTransactionAsync(Transaction transaction, Cancel /// public virtual Task DoesPaymentExistAsync(long trackingNumber, CancellationToken cancellationToken = default) { - return Context.Payments.AnyAsync(payment => payment.TrackingNumber == trackingNumber, cancellationToken); + return Context.Payments + .AsQueryable() + .AnyAsync(payment => payment.TrackingNumber == trackingNumber, cancellationToken); } /// public virtual Task DoesPaymentExistAsync(string paymentToken, CancellationToken cancellationToken = default) { - return Context.Payments.AnyAsync(payment => payment.Token == paymentToken, cancellationToken); + return Context.Payments + .AsQueryable() + .AnyAsync(payment => payment.Token == paymentToken, cancellationToken); } /// public virtual Task> GetTransactionsAsync(Payment payment, CancellationToken cancellationToken = default) { return Context.Transactions + .AsQueryable() .Where(transaction => transaction.PaymentId == payment.Id) .AsNoTracking() .Select(Mapper.ToTransactionModel()) diff --git a/src/Parbad.Storage/EntityFrameworkCore/src/Parbad.Storage.EntityFrameworkCore.csproj b/src/Parbad.Storage/EntityFrameworkCore/src/Parbad.Storage.EntityFrameworkCore.csproj index 75ef88b5..93730d82 100644 --- a/src/Parbad.Storage/EntityFrameworkCore/src/Parbad.Storage.EntityFrameworkCore.csproj +++ b/src/Parbad.Storage/EntityFrameworkCore/src/Parbad.Storage.EntityFrameworkCore.csproj @@ -2,9 +2,9 @@ Parbad.Storage.EntityFrameworkCore - 1.6.0 + 1.7.0 latest - net5;net6;net7;net8.0;net9.0 + net5;net6;net7;net8.0;net9.0;net10.0 enable false true @@ -20,7 +20,7 @@ More information: https://github.com/Sina-Soltani/Parbad true Sina Soltani Parbad.Storage.EntityframeworkCore - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.10.0 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -44,8 +44,12 @@ More information: https://github.com/Sina-Soltani/Parbad - - + + + + + + diff --git a/src/Parbad.Storage/EntityFrameworkCore/tests/EntityFrameworkCoreStorageTests.cs b/src/Parbad.Storage/EntityFrameworkCore/tests/EntityFrameworkCoreStorageTests.cs index e6b48409..cf9086c4 100644 --- a/src/Parbad.Storage/EntityFrameworkCore/tests/EntityFrameworkCoreStorageTests.cs +++ b/src/Parbad.Storage/EntityFrameworkCore/tests/EntityFrameworkCoreStorageTests.cs @@ -54,9 +54,9 @@ public void Setup() } [TestCleanup] - public ValueTask Cleanup() + public Task Cleanup() { - return _context.DisposeAsync(); + return _context.DisposeAsync().AsTask(); } [TestMethod] diff --git a/src/Parbad.Storage/EntityFrameworkCore/tests/Parbad.Storage.EntityFrameworkCore.Tests.csproj b/src/Parbad.Storage/EntityFrameworkCore/tests/Parbad.Storage.EntityFrameworkCore.Tests.csproj index 67d0a9a2..dabb747d 100644 --- a/src/Parbad.Storage/EntityFrameworkCore/tests/Parbad.Storage.EntityFrameworkCore.Tests.csproj +++ b/src/Parbad.Storage/EntityFrameworkCore/tests/Parbad.Storage.EntityFrameworkCore.Tests.csproj @@ -1,18 +1,18 @@ - net9.0 + net10.0 latest false - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Parbad/src/Parbad.csproj b/src/Parbad/src/Parbad.csproj index 78266b8b..5be46603 100644 --- a/src/Parbad/src/Parbad.csproj +++ b/src/Parbad/src/Parbad.csproj @@ -3,8 +3,8 @@ Parbad Parbad - 3.11.3 - netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + 3.12.0 + netstandard2.0;netstandard2.1;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest Parbad Sina Soltani Parbad is a free, open-source, integrated and extensible library which connects your web applications to online payment gateways. Gateways can be added or developed by you. @@ -23,7 +23,7 @@ More information: https://github.com/Sina-Soltani/Parbad true parbad Payment Gateway virtual virtual-gateway Bank Iran Shetab IranKish Mellat Melli Sadad Parsian Pasargad Saman Asan-Pardakht پرداخت درگاه بانک ایران شتاب ایران-کیش ملت ملی سداد پارسیان پاسارگاد سامان آسان-پرداخت true - https://github.com/Sina-Soltani/Parbad/releases/tag/v3.11.1 + https://github.com/Sina-Soltani/Parbad/releases/tag/v3.12.0 @@ -38,16 +38,18 @@ More information: https://github.com/Sina-Soltani/Parbad - + + + - + diff --git a/src/Parbad/tests/CallbackUrlTests.cs b/src/Parbad/tests/CallbackUrlTests.cs index 2cd9cf98..68e9bbe5 100644 --- a/src/Parbad/tests/CallbackUrlTests.cs +++ b/src/Parbad/tests/CallbackUrlTests.cs @@ -57,6 +57,13 @@ public void Casted_Value_Must_Be_Equal_With_Url() [TestMethod] public void NonValidUrl_Must_Throw_Exception() { - Assert.ThrowsException(() => new CallbackUrl("abcd")); + try + { + _ = new CallbackUrl("abcd"); + Assert.Fail("Expected CallbackUrlFormatException."); + } + catch (CallbackUrlFormatException) + { + } } } diff --git a/src/Parbad/tests/Gateway/Melli/MelliCommonTests.cs b/src/Parbad/tests/Gateway/Melli/MelliCommonTests.cs index 5e52e1a5..faae1164 100644 --- a/src/Parbad/tests/Gateway/Melli/MelliCommonTests.cs +++ b/src/Parbad/tests/Gateway/Melli/MelliCommonTests.cs @@ -41,10 +41,14 @@ public void Signing_Invalid_RequestData_Must_Throw_Exception() const string data = "test"; - Assert.ThrowsException(() => + try { crypto.Encrypt("test", data); - }); + Assert.Fail("Expected MelliGatewayDataSigningException."); + } + catch (MelliGatewayDataSigningException) + { + } } } } diff --git a/src/Parbad/tests/GatewayTransporterTests.cs b/src/Parbad/tests/GatewayTransporterTests.cs index 2eeebe67..de953624 100644 --- a/src/Parbad/tests/GatewayTransporterTests.cs +++ b/src/Parbad/tests/GatewayTransporterTests.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Net.Http.Headers; using Parbad.Internal; +using Parbad.Options; using Parbad.Tests.Helpers; using System.Collections.Generic; using System.Net; @@ -13,6 +15,7 @@ namespace Parbad.Tests public class GatewayTransporterTests { private HttpContext _httpContext; + private ServiceProvider _services; [TestInitialize] public void Setup() @@ -20,6 +23,16 @@ public void Setup() var httpContextAccessor = MockHelpers.MockHttpContextAccessor(); _httpContext = httpContextAccessor.HttpContext; + _services = new ServiceCollection() + .Configure(_ => { }) + .BuildServiceProvider(); + _httpContext.RequestServices = _services; + } + + [TestCleanup] + public Task Cleanup() + { + return _services.DisposeAsync().AsTask(); } [TestMethod] @@ -34,8 +47,8 @@ public async Task Transporter_Redirects_Correctly() await transporter.TransportAsync(); Assert.AreEqual((int)HttpStatusCode.Redirect, _httpContext.Response.StatusCode); - Assert.IsNotNull(_httpContext.Response.Headers[HeaderNames.Location]); - Assert.AreEqual(expectedUrl, _httpContext.Response.Headers[HeaderNames.Location]); + Assert.IsFalse(string.IsNullOrEmpty(_httpContext.Response.Headers[HeaderNames.Location].ToString())); + Assert.AreEqual(expectedUrl, _httpContext.Response.Headers[HeaderNames.Location].ToString()); } [TestMethod] diff --git a/src/Parbad/tests/InvoiceBuilderTests.cs b/src/Parbad/tests/InvoiceBuilderTests.cs index d0678b51..20842701 100644 --- a/src/Parbad/tests/InvoiceBuilderTests.cs +++ b/src/Parbad/tests/InvoiceBuilderTests.cs @@ -23,9 +23,9 @@ public void Setup() } [TestCleanup] - public ValueTask Cleanup() + public Task Cleanup() { - return _services.DisposeAsync(); + return _services.DisposeAsync().AsTask(); } [TestMethod] @@ -100,14 +100,21 @@ public async Task Invoice_Must_Have_The_Expected_AdditionalData() } [TestMethod] - public void Invoice_Must_Throw_Exception_When_Duplicate_AdditionalKey_Is_Added() + public async Task Invoice_Must_Throw_Exception_When_Duplicate_AdditionalKey_Is_Added() { const string key = "key"; _builder.AddProperty(key, ""); _builder.AddProperty(key, ""); - Assert.ThrowsExceptionAsync(() => _builder.BuildAsync()); + try + { + await _builder.BuildAsync(); + Assert.Fail("Expected ArgumentException."); + } + catch (ArgumentException) + { + } } [TestMethod] diff --git a/src/Parbad/tests/MoneyTests.cs b/src/Parbad/tests/MoneyTests.cs index f564a83b..2f489f47 100644 --- a/src/Parbad/tests/MoneyTests.cs +++ b/src/Parbad/tests/MoneyTests.cs @@ -57,8 +57,8 @@ public void Equatable_Works() { var money = new Money(10); - Assert.AreEqual(money, 10L); - Assert.AreEqual(money, 10M); + Assert.AreEqual(10L, (long)money); + Assert.AreEqual(10M, (decimal)money); Assert.AreEqual(money, new Money(10)); } } diff --git a/src/Parbad/tests/Parbad.Tests.csproj b/src/Parbad/tests/Parbad.Tests.csproj index 487bb9b6..9a9f4f33 100644 --- a/src/Parbad/tests/Parbad.Tests.csproj +++ b/src/Parbad/tests/Parbad.Tests.csproj @@ -1,11 +1,21 @@ - net9.0 + net10.0 latest false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/tests/Parbad.FrameworkCompatibility.Tests/FrameworkCompatibilityTests.cs b/tests/Parbad.FrameworkCompatibility.Tests/FrameworkCompatibilityTests.cs new file mode 100644 index 00000000..95a6d766 --- /dev/null +++ b/tests/Parbad.FrameworkCompatibility.Tests/FrameworkCompatibilityTests.cs @@ -0,0 +1,118 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Parbad.FrameworkCompatibility.Tests; + +[TestClass] +public class FrameworkCompatibilityTests +{ + private static readonly string[] ExpectedRuntimeTargets = + [ + "netcoreapp3.0", + "netcoreapp3.1", + "net5.0", + "net6.0", + "net7.0", + "net8.0", + "net9.0", + "net10.0" + ]; + + [TestMethod] + public void Current_runtime_target_is_declared_as_supported() + { + CollectionAssert.Contains(ExpectedRuntimeTargets, CurrentTargetFramework); + } + + [TestMethod] + public void Runtime_compatible_project_assemblies_can_be_loaded() + { + var loadedAssemblies = GetCoveredProjectTypes() + .Select(type => type.Assembly.GetName().Name) + .Distinct() + .OrderBy(name => name) + .ToArray(); + + CollectionAssert.AreEquivalent(GetExpectedProjectAssemblyNames(), loadedAssemblies); + } + + private static Type[] GetCoveredProjectTypes() + { + var types = new List + { + typeof(Parbad.Options.ParbadOptions), + typeof(Parbad.AspNetCore.VirtualGateway.ParbadVirtualGatewayMiddleware), + typeof(Parbad.Storage.Abstractions.IStorage), + typeof(Parbad.Storage.Cache.MemoryCache.MemoryCacheStorageOptions), + typeof(Parbad.Gateway.FanAva.FanAvaGatewayOptions), + typeof(Parbad.Gateway.IdPay.IdPayGatewayOptions), + typeof(Parbad.Gateway.IranKish.IranKishGatewayOptions), + typeof(Parbad.Gateway.PayIr.PayIrGatewayOptions), + typeof(Parbad.Gateway.PayPing.PayPingGatewayOptions), + typeof(Parbad.Gateway.Sepehr.SepehrGatewayOptions), + typeof(Parbad.Gateway.YekPay.YekPayGatewayOptions), + typeof(Parbad.Gateway.ZarinPal.ZarinPalGatewayOptions), + typeof(Parbad.Gateway.Zibal.ZibalGatewayOptions) + }; + +#if NET5_0_OR_GREATER + types.Add(typeof(Parbad.Storage.EntityFrameworkCore.EntityFrameworkCoreStorage)); +#endif + + return types.ToArray(); + } + + private static string[] GetExpectedProjectAssemblyNames() + { + var names = new List + { + "Parbad", + "Parbad.AspNetCore", + "Parbad.Storage.Abstractions", + "Parbad.Storage.Cache", + "Parbad.Gateway.FanAva", + "Parbad.Gateway.IdPay", + "Parbad.Gateway.IranKish", + "Parbad.Gateway.PayIr", + "Parbad.Gateway.PayPing", + "Parbad.Gateway.Sepehr", + "Parbad.Gateway.YekPay", + "Parbad.Gateway.ZarinPal", + "Parbad.Gateway.Zibal" + }; + +#if NET5_0_OR_GREATER + names.Add("Parbad.Storage.EntityFrameworkCore"); +#endif + + return names.OrderBy(name => name).ToArray(); + } + + private static string CurrentTargetFramework + { + get + { +#if NETCOREAPP3_0 + return "netcoreapp3.0"; +#elif NETCOREAPP3_1 + return "netcoreapp3.1"; +#elif NET5_0 + return "net5.0"; +#elif NET6_0 + return "net6.0"; +#elif NET7_0 + return "net7.0"; +#elif NET8_0 + return "net8.0"; +#elif NET9_0 + return "net9.0"; +#elif NET10_0 + return "net10.0"; +#else + return "unknown"; +#endif + } + } +} diff --git a/tests/Parbad.FrameworkCompatibility.Tests/Parbad.FrameworkCompatibility.Tests.csproj b/tests/Parbad.FrameworkCompatibility.Tests/Parbad.FrameworkCompatibility.Tests.csproj new file mode 100644 index 00000000..51beeded --- /dev/null +++ b/tests/Parbad.FrameworkCompatibility.Tests/Parbad.FrameworkCompatibility.Tests.csproj @@ -0,0 +1,60 @@ + + + + netcoreapp3.0;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 + latest + enable + false + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Parbad.Tests.Helpers/GatewayOnResultHelper.cs b/tests/Parbad.Tests.Helpers/GatewayOnResultHelper.cs index 57d4a019..d1547c3e 100644 --- a/tests/Parbad.Tests.Helpers/GatewayOnResultHelper.cs +++ b/tests/Parbad.Tests.Helpers/GatewayOnResultHelper.cs @@ -78,7 +78,7 @@ public static void OnFetchResult( Assert.AreEqual(GatewayAccount.DefaultName, result.GatewayAccountName); - Assert.AreEqual(result.Amount, expectedAmount); + Assert.AreEqual(expectedAmount, (decimal)result.Amount); Assert.IsFalse(result.IsAlreadyVerified); } @@ -102,7 +102,7 @@ public static void OnVerifyResult( Assert.AreEqual(GatewayAccount.DefaultName, result.GatewayAccountName); - Assert.AreEqual(result.Amount, expectedAmount); + Assert.AreEqual(expectedAmount, (decimal)result.Amount); Assert.IsNotNull(result.TransactionCode); diff --git a/tests/Parbad.Tests.Helpers/GatewayTestHelpers.cs b/tests/Parbad.Tests.Helpers/GatewayTestHelpers.cs index cec48047..cbd0d0e4 100644 --- a/tests/Parbad.Tests.Helpers/GatewayTestHelpers.cs +++ b/tests/Parbad.Tests.Helpers/GatewayTestHelpers.cs @@ -52,7 +52,7 @@ public static async Task TestGatewayAsync( onRequestResult(requestResult); - var storageManager = serviceProvider.GetRequiredService(); + var storageManager = serviceProvider.GetRequiredService(); var payment = await storageManager.GetPaymentByTrackingNumberAsync(requestResult.TrackingNumber); diff --git a/tests/Parbad.Tests.Helpers/Parbad.Tests.Helpers.csproj b/tests/Parbad.Tests.Helpers/Parbad.Tests.Helpers.csproj index 40079985..17d8509f 100644 --- a/tests/Parbad.Tests.Helpers/Parbad.Tests.Helpers.csproj +++ b/tests/Parbad.Tests.Helpers/Parbad.Tests.Helpers.csproj @@ -1,32 +1,18 @@  - netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 latest false - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + + - - - - - - - - - +