summaryrefslogtreecommitdiffstats
path: root/src/IOL.VippsEcommerce.Tests/ConfigurationTests.cs
blob: aa05a7dfccf655c12c4691a72f671df70d29a8d6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using IOL.VippsEcommerce.Models;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
using Xunit.Abstractions;

namespace IOL.VippsEcommerce.Tests
{
	public class InitialisationTests
	{
		private readonly ITestOutputHelper _helper;

		public InitialisationTests(ITestOutputHelper helper) {
			_helper = helper;
		}

		[Fact]
		public void Succeed_On_Valid_Minimal_Configuration() {
			var vippsEcommerceService = Helpers.GetVippsEcommerceService(o => {
				o.ApiUrl = "https://validuri.no";
				o.ClientId = "asdf";
				o.ClientSecret = "asdf";
				o.SecondarySubscriptionKey = "asdf";
			});

			vippsEcommerceService.Configuration.Verify();
		}

		[Fact]
		public void Configuration_Follows_Through_Initialisation() {
			var vippsEcommerceService = Helpers.GetVippsEcommerceService(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;
			});

			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);
			}
		}
	}
}