diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2021-04-02 22:36:34 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2021-04-02 22:36:34 +0200 |
| commit | 801294388d0d5b8e8443dfe3a54406b88420bfee (patch) | |
| tree | d8c1ae35b15f89bef5425b8a7049a12db257ea2f /src | |
| parent | aae8cac8dfd0bf904c6b8761fec1587ef467c30c (diff) | |
| download | dotnet-vipps-ecommerce-801294388d0d5b8e8443dfe3a54406b88420bfee.tar.xz dotnet-vipps-ecommerce-801294388d0d5b8e8443dfe3a54406b88420bfee.zip | |
Add some tests for initialisation
Diffstat (limited to 'src')
| -rw-r--r-- | src/IOL.VippsEcommerce.Tests/Integration/InitialisationTest.cs | 10 | ||||
| -rw-r--r-- | src/IOL.VippsEcommerce.Tests/Integration/InitialisationTests.cs | 73 |
2 files changed, 73 insertions, 10 deletions
diff --git a/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTest.cs b/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTest.cs deleted file mode 100644 index b327baa..0000000 --- a/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTest.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Xunit; - -namespace IOL.VippsEcommerce.Tests.Integration -{ - public class InitialisationTest - { - [Fact] - public void Fail_On_Invalid_Minimal_Configuration() { } - } -}
\ No newline at end of file diff --git a/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTests.cs b/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTests.cs new file mode 100644 index 0000000..6035c15 --- /dev/null +++ b/src/IOL.VippsEcommerce.Tests/Integration/InitialisationTests.cs @@ -0,0 +1,73 @@ +using System.Collections.Generic; +using System.Text.Json; +using IOL.VippsEcommerce.Models; +using Microsoft.Extensions.DependencyInjection; +using Xunit; +using Xunit.Abstractions; + +namespace IOL.VippsEcommerce.Tests.Integration +{ + public class InitialisationTests + { + private readonly ITestOutputHelper _helper; + + public InitialisationTests(ITestOutputHelper helper) { + _helper = helper; + } + + [Fact] + public void Succeed_On_Valid_Minimal_Configuration() { + var services = new ServiceCollection(); + services.AddVippsEcommerceService(o => { + o.ApiUrl = "https://validuri.no"; + o.ClientId = "asdf"; + o.ClientSecret = "asdf"; + o.SecondarySubscriptionKey = "asdf"; + }); + var provider = services.BuildServiceProvider(); + var vippsEcommerceService = provider.GetService<IVippsEcommerceService>(); + if (vippsEcommerceService == default) { + _helper.WriteLine(nameof(IVippsEcommerceService) + " was default"); + return; + } + + vippsEcommerceService.Configuration.Verify(); + Assert.True(true); + } + + + [Fact] + public void Configuration_Follows_Through_Initialisation() { + var services = new ServiceCollection(); + services.AddVippsEcommerceService(o => { + o.ApiUrl = "https://validuri.no"; + o.ClientId = "asdf"; + o.ClientSecret = "asdf"; + o.SecondarySubscriptionKey = "asdf"; + o.PrimarySubscriptionKey = "asdf"; + o.SystemName = "asdf"; + o.SystemVersion = "asdf"; + o.SystemPluginName = "asdf"; + o.SystemPluginVersion = "asdf"; + o.MerchantSerialNumber = "asdf"; + o.CacheDirectoryPath = "asdf"; + o.CacheEncryptionKey = "asdf"; + o.ConfigurationMode = VippsConfigurationMode.ONLY_OBJECT; + }); + var provider = services.BuildServiceProvider(); + var vippsEcommerceService = provider.GetService<IVippsEcommerceService>(); + + if (vippsEcommerceService == default) { + _helper.WriteLine(nameof(IVippsEcommerceService) + " was default"); + return; + } + + foreach (var prop in typeof(VippsConfiguration).GetProperties()) { + var value = prop.GetValue(vippsEcommerceService.Configuration, null); + _helper.WriteLine(prop.Name); + _helper.WriteLine(value?.ToString() ?? "EMPTY"); + Assert.False(value == default); + } + } + } +}
\ No newline at end of file |
