diff --git a/Btms.Business.Tests/ImportNotificationTypeEnumExtensionsTests.cs b/Btms.Business.Tests/ImportNotificationTypeEnumExtensionsTests.cs new file mode 100644 index 00000000..9772a7bf --- /dev/null +++ b/Btms.Business.Tests/ImportNotificationTypeEnumExtensionsTests.cs @@ -0,0 +1,34 @@ +using Btms.Business.Extensions; +using Btms.Model; +using Btms.Model.Ipaffs; +using FluentAssertions; +using Xunit; + +namespace Btms.Business.Tests; + +public class ImportNotificationTypeEnumExtensionsTests +{ + [Theory] + [InlineData("9115", ImportNotificationTypeEnum.Chedpp)] + [InlineData("C633", ImportNotificationTypeEnum.Chedpp)] + [InlineData("N002", ImportNotificationTypeEnum.Chedpp)] + [InlineData("N851", ImportNotificationTypeEnum.Chedpp)] + [InlineData("C085", ImportNotificationTypeEnum.Chedpp)] + + [InlineData("N852", ImportNotificationTypeEnum.Ced)] + [InlineData("C678", ImportNotificationTypeEnum.Ced)] + + [InlineData("C640", ImportNotificationTypeEnum.Cveda)] + + [InlineData("C641", ImportNotificationTypeEnum.Cvedp)] + [InlineData("C673", ImportNotificationTypeEnum.Cvedp)] + [InlineData("N853", ImportNotificationTypeEnum.Cvedp)] + + [InlineData("9HCG", null)] + public void DocumentCode_ToChedType(string documentCode, ImportNotificationTypeEnum? expected) + { + var result = documentCode.GetChedType(); + + result.Should().Be(expected); + } +} \ No newline at end of file diff --git a/Btms.Business/Extensions/ImportNotificationTypeEnumExtensions.cs b/Btms.Business/Extensions/ImportNotificationTypeEnumExtensions.cs index f7bac76f..32f8c687 100644 --- a/Btms.Business/Extensions/ImportNotificationTypeEnumExtensions.cs +++ b/Btms.Business/Extensions/ImportNotificationTypeEnumExtensions.cs @@ -7,9 +7,10 @@ public static class ImportNotificationTypeEnumExtensions public static ImportNotificationTypeEnum? GetChedType(this string documentCode) { //This is the mapping from https://eaflood.atlassian.net/wiki/spaces/ALVS/pages/5177016349/DocumentCode+Field + // "C085" isn't on the wiki page, but after a discussion with Matt, it appears it maps to ChedPP return documentCode switch { - "9115"or "C633" or "N002" or "N851" => ImportNotificationTypeEnum.Chedpp, + "9115"or "C633" or "N002" or "N851" or "C085" => ImportNotificationTypeEnum.Chedpp, "N852" or "C678" => ImportNotificationTypeEnum.Ced, "C640" => ImportNotificationTypeEnum.Cveda, "C641" or "C673" or "N853" => ImportNotificationTypeEnum.Cvedp,