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/TabInvokeActivityTests.cs

292lines · modecode

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