Skip to content

Commit af53b45

Browse files
Merge pull request #83 from notion-dotnet/feature/54-number-property-support-more-currency-formats
Add support for more currency formats 💖
2 parents 6ce6245 + 61d86a3 commit af53b45

File tree

2 files changed

+100
-1
lines changed

2 files changed

+100
-1
lines changed

Src/Notion.Client/Models/Database/Properties/NumberProperty.cs

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,66 @@ public enum NumberFormat
5252
Won,
5353

5454
[EnumMember(Value = "yuan")]
55-
Yuan
55+
Yuan,
56+
57+
[EnumMember(Value = "hong_kong_dollar")]
58+
HongKongDollar,
59+
60+
[EnumMember(Value = "new_zealand_dollar")]
61+
NewZealandDollar,
62+
63+
[EnumMember(Value = "krona")]
64+
Krona,
65+
66+
[EnumMember(Value = "norwegian_krone")]
67+
NorwegianKrone,
68+
69+
[EnumMember(Value = "mexican_peso")]
70+
MexicanPeso,
71+
72+
[EnumMember(Value = "rand")]
73+
Rand,
74+
75+
[EnumMember(Value = "new_taiwan_dollar")]
76+
NewTaiwanDollar,
77+
78+
[EnumMember(Value = "danish_krone")]
79+
DanishKrone,
80+
81+
[EnumMember(Value = "zloty")]
82+
Zloty,
83+
84+
[EnumMember(Value = "baht")]
85+
Baht,
86+
87+
[EnumMember(Value = "forint")]
88+
Forint,
89+
90+
[EnumMember(Value = "koruna")]
91+
Koruna,
92+
93+
[EnumMember(Value = "shekel")]
94+
Shekel,
95+
96+
[EnumMember(Value = "chilean_peso")]
97+
ChileanPeso,
98+
99+
[EnumMember(Value = "philippine_peso")]
100+
PhilippinePeso,
101+
102+
[EnumMember(Value = "dirham")]
103+
Dirham,
104+
105+
[EnumMember(Value = "colombian_peso")]
106+
ColombianPeso,
107+
108+
[EnumMember(Value = "riyal")]
109+
Riyal,
110+
111+
[EnumMember(Value = "ringgit")]
112+
Ringgit,
113+
114+
[EnumMember(Value = "leu")]
115+
Leu
56116
}
57117
}

Test/Notion.UnitTests/PropertyTests.cs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using FluentAssertions;
23
using Notion.Client;
34
using Notion.Client.Extensions;
45
using Xunit;
@@ -62,5 +63,43 @@ public void TestPropertyTypeText(Type type, string expectedPropertyType)
6263

6364
Assert.Equal(expectedPropertyType, actualPropertyType);
6465
}
66+
67+
[Theory]
68+
[InlineData(null, NumberFormat.Unknown)]
69+
[InlineData("number", NumberFormat.Number)]
70+
[InlineData("number_with_commas", NumberFormat.NumberWithCommas)]
71+
[InlineData("percent", NumberFormat.Percent)]
72+
[InlineData("dollar", NumberFormat.Dollar)]
73+
[InlineData("euro", NumberFormat.Euro)]
74+
[InlineData("pound", NumberFormat.Pound)]
75+
[InlineData("yen", NumberFormat.Yen)]
76+
[InlineData("ruble", NumberFormat.Ruble)]
77+
[InlineData("rupee", NumberFormat.Rupee)]
78+
[InlineData("won", NumberFormat.Won)]
79+
[InlineData("yuan", NumberFormat.Yuan)]
80+
[InlineData("hong_kong_dollar", NumberFormat.HongKongDollar)]
81+
[InlineData("new_zealand_dollar", NumberFormat.NewZealandDollar)]
82+
[InlineData("krona", NumberFormat.Krona)]
83+
[InlineData("norwegian_krone", NumberFormat.NorwegianKrone)]
84+
[InlineData("mexican_peso", NumberFormat.MexicanPeso)]
85+
[InlineData("rand", NumberFormat.Rand)]
86+
[InlineData("new_taiwan_dollar", NumberFormat.NewTaiwanDollar)]
87+
[InlineData("danish_krone", NumberFormat.DanishKrone)]
88+
[InlineData("zloty", NumberFormat.Zloty)]
89+
[InlineData("baht", NumberFormat.Baht)]
90+
[InlineData("forint", NumberFormat.Forint)]
91+
[InlineData("koruna", NumberFormat.Koruna)]
92+
[InlineData("shekel", NumberFormat.Shekel)]
93+
[InlineData("chilean_peso", NumberFormat.ChileanPeso)]
94+
[InlineData("philippine_peso", NumberFormat.PhilippinePeso)]
95+
[InlineData("dirham", NumberFormat.Dirham)]
96+
[InlineData("colombian_peso", NumberFormat.ColombianPeso)]
97+
[InlineData("riyal", NumberFormat.Riyal)]
98+
[InlineData("ringgit", NumberFormat.Ringgit)]
99+
[InlineData("leu", NumberFormat.Leu)]
100+
public void NumberFormatEnumTypes(string textValue, NumberFormat numberFormat)
101+
{
102+
numberFormat.GetEnumMemberValue().Should().Be(textValue);
103+
}
65104
}
66105
}

0 commit comments

Comments
 (0)