microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
next/core

Branches

Tags

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

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Api.Tests/Activities/Invokes/TabInvokeActivityTests.cs

292lines · modecode

1
2
3using System.Text.Json;
4
5using Microsoft.Teams.Api.Activities;
6using Microsoft.Teams.Api.Activities.Invokes;
7using Microsoft.Teams.Api.Tabs;
8
9using static Microsoft.Teams.Api.Activities.Invokes.Tabs;
10
11namespace Microsoft.Teams.Api.Tests.Activities;
12
13public class TabInvokeActivityTests
14{
15 [Fact]
16 public void TabsFetchActivity_Props()
17 {
18 var activity = new FetchActivity()
19 {
20 Value = new Request()
21 {
22 TabContext = new EntityContext()
23 {
24 TabEntityId = "tabEntityIdString"
25 },
26 },
27 };
28
29 var expectedSubmitException = "Unable to cast object of type 'FetchActivity' to type 'SubmitActivity'.";
30
31 Assert.NotNull(activity.ToFetch());
32
33 var ex = Assert.Throws<System.InvalidCastException>(() => activity.ToSubmit());
34 Assert.Equal(expectedSubmitException, ex.Message);
35 }
36
37 [Fact]
38 public void TabsFetchActivity_JsonSerialize()
39 {
40 var activity = new FetchActivity()
41 {
42 Value = new Request()
43 {
44 TabContext = new EntityContext()
45 {
46 TabEntityId = "tabEntityIdString"
47 },
48 },
49 };
50
51 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
52 {
53 WriteIndented = true,
54 IndentSize = 2,
55 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
56 });
57
58 Assert.Equal(File.ReadAllText(
59 @"../../../Json/Activity/Invokes/TabsFetchActivity.json"
60 ), json);
61 }
62
63 [Fact]
64 public void TabsFetchActivity_JsonSerialize_Derived()
65 {
66 TabActivity activity = new FetchActivity()
67 {
68 Value = new Request()
69 {
70 TabContext = new EntityContext()
71 {
72 TabEntityId = "tabEntityIdString"
73 },
74 },
75 };
76
77 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
78 {
79 WriteIndented = true,
80 IndentSize = 2,
81 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
82 });
83
84 Assert.Equal(File.ReadAllText(
85 @"../../../Json/Activity/Invokes/TabsFetchActivity.json"
86 ), json);
87 }
88
89 [Fact]
90 public void TabsFetchActivity_JsonSerialize_Interface_Derived()
91 {
92 Activity activity = new FetchActivity()
93 {
94 Value = new Request()
95 {
96 TabContext = new EntityContext()
97 {
98 TabEntityId = "tabEntityIdString"
99 },
100 },
101 };
102
103 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
104 {
105 WriteIndented = true,
106 IndentSize = 2,
107 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
108 });
109
110 Assert.Equal(File.ReadAllText(
111 @"../../../Json/Activity/Invokes/TabsFetchActivity.json"
112 ), json);
113 }
114
115
116 [Fact]
117 public void TabsFetchActivity_JsonDeserialize()
118 {
119 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/TabsFetchActivity.json");
120 var activity = JsonSerializer.Deserialize<FetchActivity>(json);
121 var expected = new FetchActivity()
122 {
123 Value = new Request()
124 {
125 TabContext = new EntityContext()
126 {
127 TabEntityId = "tabEntityIdString"
128 },
129 },
130 };
131 Assert.Equal(expected.ToString(), activity?.ToString());
132 }
133
134 [Fact]
135 public void TabsFetchActivity_JsonDeserialize_Derived()
136 {
137 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/TabsFetchActivity.json");
138 var activity = JsonSerializer.Deserialize<TabActivity>(json);
139 var expected = new FetchActivity()
140 {
141 Value = new Request()
142 {
143 TabContext = new EntityContext()
144 {
145 TabEntityId = "tabEntityIdString"
146 },
147 },
148 };
149
150 Assert.NotNull(activity);
151 Assert.Equal(expected.ToString(), activity.ToString());
152 }
153
154 [Fact]
155 public void TabsSubmitActivity_Props()
156 {
157 var activity = new SubmitActivity()
158 {
159 Value = new Request()
160 {
161 TabContext = new EntityContext()
162 {
163 TabEntityId = "tabEntityIdString"
164 },
165 },
166 };
167
168 var expectedSubmitException = "Unable to cast object of type 'SubmitActivity' to type 'FetchActivity'.";
169
170 Assert.NotNull(activity.ToSubmit());
171
172 var ex = Assert.Throws<System.InvalidCastException>(() => activity.ToFetch());
173 Assert.Equal(expectedSubmitException, ex.Message);
174 }
175
176 [Fact]
177 public void TabsSubmitActivity_JsonSerialize()
178 {
179 var activity = new SubmitActivity()
180 {
181 Value = new Request()
182 {
183 TabContext = new EntityContext()
184 {
185 TabEntityId = "tabEntityIdString"
186 },
187 },
188 };
189
190 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
191 {
192 WriteIndented = true,
193 IndentSize = 2,
194 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
195 });
196
197 Assert.Equal(File.ReadAllText(
198 @"../../../Json/Activity/Invokes/TabsSubmitActivity.json"
199 ), json);
200 }
201
202 [Fact]
203 public void TabsSubmitActivity_JsonSerialize_Derived()
204 {
205 TabActivity activity = new SubmitActivity()
206 {
207 Value = new Request()
208 {
209 TabContext = new EntityContext()
210 {
211 TabEntityId = "tabEntityIdString"
212 },
213 },
214 };
215
216 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
217 {
218 WriteIndented = true,
219 IndentSize = 2,
220 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
221 });
222
223 Assert.Equal(File.ReadAllText(
224 @"../../../Json/Activity/Invokes/TabsSubmitActivity.json"
225 ), json);
226 }
227
228 [Fact]
229 public void TabsSubmitActivity_JsonSerialize_Interface_Derived()
230 {
231 Activity activity = new SubmitActivity()
232 {
233 Value = new Request()
234 {
235 TabContext = new EntityContext()
236 {
237 TabEntityId = "tabEntityIdString"
238 },
239 },
240 };
241
242 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
243 {
244 WriteIndented = true,
245 IndentSize = 2,
246 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
247 });
248
249 Assert.Equal(File.ReadAllText(
250 @"../../../Json/Activity/Invokes/TabsSubmitActivity.json"
251 ), json);
252 }
253
254
255 [Fact]
256 public void TabsSubmitActivity_JsonDeserialize()
257 {
258 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/TabsSubmitActivity.json");
259 var activity = JsonSerializer.Deserialize<SubmitActivity>(json);
260 var expected = new SubmitActivity()
261 {
262 Value = new Request()
263 {
264 TabContext = new EntityContext()
265 {
266 TabEntityId = "tabEntityIdString"
267 },
268 },
269 };
270 Assert.Equal(expected.ToString(), activity?.ToString());
271 }
272
273 [Fact]
274 public void TabsSubmitActivity_JsonDeserialize_Derived()
275 {
276 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/TabsSubmitActivity.json");
277 var activity = JsonSerializer.Deserialize<TabActivity>(json);
278 var expected = new SubmitActivity()
279 {
280 Value = new Request()
281 {
282 TabContext = new EntityContext()
283 {
284 TabEntityId = "tabEntityIdString"
285 },
286 },
287 };
288
289 Assert.NotNull(activity);
290 Assert.Equal(expected.ToString(), activity.ToString());
291 }
292}