microsoft/teams.net

Public

mirrored from https://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/sub-pr-338

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

146lines · modecode

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