microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
docs/update-release-process

Branches

Tags

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

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Api.Tests/Activities/Invokes/MessageExtensions/SettingMEActivityTests.cs

154lines · modecode

1using System.Text.Json;
2
3using Microsoft.Teams.Api.Activities;
4using Microsoft.Teams.Api.Activities.Invokes;
5using Microsoft.Teams.Api.MessageExtensions;
6
7using static Microsoft.Teams.Api.Activities.Invokes.MessageExtensions;
8
9namespace Microsoft.Teams.Api.Tests.Activities.Invokes;
10
11public class SettingMEActivityTests
12{
13 private SettingActivity SetupSettingMEActivity()
14 {
15 return new SettingActivity()
16 {
17 Value = new Query()
18 {
19 CommandId = "commandId",
20 Parameters =
21 [
22 new Parameter()
23 {
24 Name = "parameter1",
25 Value = "value1"
26 },
27 new Parameter()
28 {
29 Name = "parameter2",
30 Value = "value2"
31 }
32 ],
33 QueryOptions = new Query.Options()
34 {
35 Skip = 0,
36 Count = 10
37 },
38 State = "state"
39 },
40 Conversation = new Api.Conversation()
41 {
42 Id = "conversationId",
43 Type = ConversationType.GroupChat
44 },
45 };
46 }
47
48 [Fact]
49 public void SettingMEActivity_JsonSerialize()
50 {
51 var activity = SetupSettingMEActivity();
52
53 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
54 {
55 WriteIndented = true,
56 IndentSize = 2,
57 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
58 });
59
60 string expectedPath = "Activity.Invoke.ComposeExtension/setting";
61 Assert.Equal(expectedPath, activity.GetPath());
62 Assert.Equal(File.ReadAllText(
63 @"../../../Json/Activity/Invokes/SettingMEActivity.json"
64 ), json);
65 }
66
67 [Fact]
68 public void SettingMEActivity_JsonSerialize_Derived()
69 {
70 MessageExtensionActivity activity = SetupSettingMEActivity();
71
72 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
73 {
74 WriteIndented = true,
75 IndentSize = 2,
76 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
77 });
78
79 string expectedPath = "Activity.Invoke.ComposeExtension/setting";
80 Assert.Equal(expectedPath, activity.GetPath());
81 Assert.Equal(File.ReadAllText(
82 @"../../../Json/Activity/Invokes/SettingMEActivity.json"
83 ), json);
84 }
85
86 [Fact]
87 public void SettingMEActivity_JsonSerialize_Derived_Interface()
88 {
89 InvokeActivity activity = SetupSettingMEActivity();
90
91 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
92 {
93 WriteIndented = true,
94 IndentSize = 2,
95 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
96 });
97
98 string expectedPath = "Activity.Invoke.ComposeExtension/setting";
99 Assert.Equal(expectedPath, activity.GetPath());
100 Assert.Equal(File.ReadAllText(
101 @"../../../Json/Activity/Invokes/SettingMEActivity.json"
102 ), json);
103 }
104
105 [Fact]
106 public void SettingMEActivity_JsonDeserialize()
107 {
108 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SettingMEActivity.json");
109 var activity = JsonSerializer.Deserialize<SettingActivity>(json);
110 var expected = SetupSettingMEActivity();
111
112 Assert.Equal(expected.ToString(), activity!.ToString());
113 Assert.NotNull(activity.ToMessageExtension());
114
115
116 }
117
118 [Fact]
119 public void SettingMEActivity_JsonDeserialize_Derived()
120 {
121 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SettingMEActivity.json");
122 var activity = JsonSerializer.Deserialize<MessageExtensionActivity>(json);
123 var expected = SetupSettingMEActivity();
124
125 Assert.Equal(expected.ToString(), activity!.ToString());
126 Assert.NotNull(activity.ToMessageExtension());
127 var expectedSubmitException = "Unable to cast object of type 'SettingActivity' to type 'Microsoft.Teams.Api.Activities.Invokes.TaskActivity'.";
128 var ex = Assert.Throws<System.InvalidCastException>(() => activity.ToTask());
129 Assert.Equal(expectedSubmitException, ex.Message);
130 }
131
132 [Fact]
133 public void SettingMEActivity_JsonDeserialize_Derived_Interface()
134 {
135 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SettingMEActivity.json");
136 var activity = JsonSerializer.Deserialize<InvokeActivity>(json);
137 var expected = SetupSettingMEActivity();
138
139 Assert.NotNull(activity);
140 Assert.Equal(expected.ToString(), activity.ToString());
141 Assert.NotNull(activity.ToMessageExtension());
142 }
143
144 [Fact]
145 public void SettingMEActivity_JsonDeserialize_Derived_Activity_Interface()
146 {
147 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SettingMEActivity.json");
148 var activity = JsonSerializer.Deserialize<Activity>(json);
149 var expected = SetupSettingMEActivity();
150
151 Assert.NotNull(activity);
152 Assert.Equal(expected.ToString(), activity.ToString());
153 }
154}