microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
samples/migration-bot

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

core/test/Microsoft.Teams.Bot.Apps.UnitTests/ActivitiesTests.cs

144lines · modecode

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Bot.Apps.Handlers;
5using Microsoft.Teams.Bot.Apps.Schema;
6using Microsoft.Teams.Bot.Core.Schema;
7
8namespace Microsoft.Teams.Bot.Apps.UnitTests;
9
10/// <summary>
11/// Tests for simple activity types.
12/// </summary>
13public class ActivitiesTests
14{
15 [Fact]
16 public void MessageReaction_FromActivityConvertsCorrectly()
17 {
18 CoreActivity coreActivity = new()
19 {
20 Type = TeamsActivityType.MessageReaction
21 };
22 coreActivity.Properties["reactionsAdded"] = System.Text.Json.JsonSerializer.SerializeToElement(new[]
23 {
24 new { type = "like" },
25 new { type = "heart" }
26 });
27
28 MessageReactionActivity activity = MessageReactionActivity.FromActivity(coreActivity);
29 Assert.NotNull(activity);
30 Assert.Equal(TeamsActivityType.MessageReaction, activity.Type);
31 Assert.NotNull(activity.ReactionsAdded);
32 Assert.Equal(2, activity.ReactionsAdded!.Count);
33 }
34
35 [Fact]
36 public void MessageDelete_Constructor_Default_SetsMessageDeleteType()
37 {
38 MessageDeleteActivity activity = new();
39 Assert.Equal(TeamsActivityType.MessageDelete, activity.Type);
40 }
41
42 [Fact]
43 public void MessageDelete_FromActivityConvertsCorrectly()
44 {
45 CoreActivity coreActivity = new()
46 {
47 Type = TeamsActivityType.MessageDelete,
48 Id = "deleted-msg-id"
49 };
50
51 MessageDeleteActivity messageDelete = MessageDeleteActivity.FromActivity(coreActivity);
52 Assert.NotNull(messageDelete);
53 Assert.Equal(TeamsActivityType.MessageDelete, messageDelete.Type);
54 Assert.Equal("deleted-msg-id", messageDelete.Id);
55 }
56
57 [Fact]
58 public void MessageUpdate_Constructor_Default_SetsMessageUpdateType()
59 {
60 MessageUpdateActivity activity = new();
61 Assert.Equal(TeamsActivityType.MessageUpdate, activity.Type);
62 }
63
64 [Fact]
65 public void MessageUpdate_Constructor_WithText_SetsTextAndMessageUpdateType()
66 {
67 MessageUpdateActivity activity = new("Updated text");
68 Assert.Equal(TeamsActivityType.MessageUpdate, activity.Type);
69 Assert.Equal("Updated text", activity.Text);
70 }
71
72 [Fact]
73 public void MessageUpdate_InheritsFromMessageActivity()
74 {
75 MessageUpdateActivity activity = new()
76 {
77 Text = "Updated",
78 TextFormat = TextFormats.Markdown
79 };
80
81 Assert.Equal("Updated", activity.Text);
82 //Assert.Equal(InputHints.AcceptingInput, activity.InputHint);
83 Assert.Equal(TextFormats.Markdown, activity.TextFormat);
84 }
85
86 [Fact]
87 public void MessageUpdate_FromActivityConvertsCorrectly()
88 {
89 CoreActivity coreActivity = new()
90 {
91 Type = TeamsActivityType.MessageUpdate
92 };
93 coreActivity.Properties["text"] = "Test message";
94
95 MessageUpdateActivity messageUpdate = MessageUpdateActivity.FromActivity(coreActivity);
96 Assert.NotNull(messageUpdate);
97 Assert.Equal(TeamsActivityType.MessageUpdate, messageUpdate.Type);
98 Assert.Equal("Test message", messageUpdate.Text);
99 }
100
101 [Fact]
102 public void ConversationUpdate_Constructor_Default_SetsConversationUpdateType()
103 {
104 ConversationUpdateActivity activity = new();
105 Assert.Equal(TeamsActivityType.ConversationUpdate, activity.Type);
106 }
107
108 [Fact]
109 public void ConversationUpdate_FromActivityConvertsCorrectly()
110 {
111 CoreActivity coreActivity = new()
112 {
113 Type = TeamsActivityType.ConversationUpdate
114 };
115 //coreActivity.Properties["topicName"] = "Converted Topic";
116
117 ConversationUpdateActivity activity = ConversationUpdateActivity.FromActivity(coreActivity);
118 Assert.NotNull(activity);
119 Assert.Equal(TeamsActivityType.ConversationUpdate, activity.Type);
120 //Assert.Equal("Converted Topic", activity.TopicName);
121 }
122
123 [Fact]
124 public void InstallUpdate_Constructor_Default_SetsInstallationUpdateType()
125 {
126 InstallUpdateActivity activity = new();
127 Assert.Equal(TeamsActivityType.InstallationUpdate, activity.Type);
128 }
129
130 [Fact]
131 public void InstallUpdate_FromActivityConvertsCorrectly()
132 {
133 CoreActivity coreActivity = new()
134 {
135 Type = TeamsActivityType.InstallationUpdate
136 };
137 coreActivity.Properties["action"] = "remove";
138
139 InstallUpdateActivity activity = InstallUpdateActivity.FromActivity(coreActivity);
140 Assert.NotNull(activity);
141 Assert.Equal(TeamsActivityType.InstallationUpdate, activity.Type);
142 Assert.Equal("remove", activity.Action);
143 }
144}
145