Skip to content

Commit 08fc2ae

Browse files
Populate silent property on notification dto.
1 parent b07b409 commit 08fc2ae

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

sdk/Notifo.SDK/Constants.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ internal static class Constants
1919
public const string ImageSmallKey = "imageSmall";
2020
public const string LinkUrlKey = "linkUrl";
2121
public const string LinkTextKey = "linkText";
22+
public const string SilentKey = "silent";
2223
public const string TrackingUrlKey = "trackingUrl";
2324
public const string DataKey = "data";
2425
public const string ApsKey = "aps";

sdk/Notifo.SDK/Extensions/NotificationDtoExtensions.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ public static Dictionary<string, string> ToDictionary(this NotificationDto notif
6161
data[Constants.LinkTextKey] = notification.LinkText;
6262
}
6363

64+
data[Constants.SilentKey] = notification.Silent.ToString();
65+
6466
if (!string.IsNullOrWhiteSpace(notification.TrackingUrl))
6567
{
6668
data[Constants.TrackingUrlKey] = notification.TrackingUrl;
@@ -134,6 +136,11 @@ public static NotificationDto FromDictionary(this NotificationDto notification,
134136
notification.LinkText = linkText.ToString();
135137
}
136138

139+
if (data.TryGetValue(Constants.SilentKey, out var silent))
140+
{
141+
notification.Silent = Convert.ToBoolean(silent.ToString());
142+
}
143+
137144
if (data.TryGetValue(Constants.TrackingUrlKey, out var trackingUrl))
138145
{
139146
notification.TrackingUrl = trackingUrl.ToString();

tests/Notifo.SDK.UnitTests/NotificationDtoExtensionsTests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public void ToDictionary_ShouldPopulateDictionary()
2727
var linkUrl = "https://app.notifo.io";
2828
var linkText = "Go to link";
2929
var subject = "subject1";
30+
var silent = true;
3031
var trackingUrl = "https://track.notifo.com";
3132

3233
var notification = new NotificationDto
@@ -40,6 +41,7 @@ public void ToDictionary_ShouldPopulateDictionary()
4041
LinkText = linkText,
4142
LinkUrl = linkUrl,
4243
Subject = subject,
44+
Silent = silent,
4345
IsConfirmed = isConfirmed,
4446
TrackingUrl = trackingUrl
4547
};
@@ -57,6 +59,7 @@ public void ToDictionary_ShouldPopulateDictionary()
5759
Assert.Equal(dictionary[nameof(linkUrl)], linkUrl);
5860
Assert.Equal(dictionary[nameof(trackingUrl)], trackingUrl);
5961
Assert.Equal(dictionary[nameof(subject)], subject);
62+
Assert.Equal(dictionary[nameof(silent)], silent.ToString());
6063
}
6164

6265
[Fact]
@@ -72,6 +75,7 @@ public void FromDictionary_ShouldPopulateDto()
7275
var linkUrl = "https://app.notifo.io";
7376
var linkText = "Go to link";
7477
var subject = "subject1";
78+
var silent = true;
7579
var trackingUrl = "https://track.notifo.com";
7680

7781
var dictionary = new Dictionary<string, object>
@@ -86,7 +90,8 @@ public void FromDictionary_ShouldPopulateDto()
8690
[nameof(linkText)] = linkText,
8791
[nameof(linkUrl)] = linkUrl,
8892
[nameof(trackingUrl)] = trackingUrl,
89-
[nameof(subject)] = subject
93+
[nameof(subject)] = subject,
94+
[nameof(silent)] = silent
9095
};
9196

9297
var notification = new NotificationDto().FromDictionary(dictionary);
@@ -102,6 +107,7 @@ public void FromDictionary_ShouldPopulateDto()
102107
Assert.Equal(notification.LinkUrl, linkUrl);
103108
Assert.Equal(notification.TrackingUrl, trackingUrl);
104109
Assert.Equal(notification.Subject, subject);
110+
Assert.Equal(notification.Silent, silent);
105111
}
106112
}
107113
}

0 commit comments

Comments
 (0)