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/SignIn/SignInTests.cs

34lines · modecode

1using System.Text.Json;
2
3using Microsoft.Teams.Api.Activities.Invokes;
4
5namespace Microsoft.Teams.Api.Tests.Activities.Invokes.SignIn;
6
7public class SignInTests
8{
9 private static SignInActivity? Deserialize(string json) => JsonSerializer.Deserialize<SignInActivity>(json);
10
11 [Fact]
12 public void SignIn_MissingName_Throws()
13 {
14 var json = "{\"type\":\"invoke\"}";
15 var ex = Assert.Throws<JsonException>(() => Deserialize(json));
16 Assert.Contains("must have a 'name'", ex.Message);
17 }
18
19 [Fact]
20 public void SignIn_NullName_Throws()
21 {
22 var json = "{\"type\":\"invoke\",\"name\":null}";
23 var ex = Assert.Throws<JsonException>(() => Deserialize(json));
24 Assert.Contains("failed to deserialize invoke activity 'name' property", ex.Message);
25 }
26
27 [Fact]
28 public void SignIn_UnknownName_Throws()
29 {
30 var json = "{\"type\":\"invoke\",\"name\":\"signin/other\"}";
31 var ex = Assert.Throws<JsonException>(() => Deserialize(json));
32 Assert.Contains("doesn't match any known types", ex.Message);
33 }
34}