microsoft/teams.net

Public

mirrored fromhttps://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.Apps.Tests/Routing/RouterTests.cs

75lines · modecode

1using Microsoft.Teams.Api.Activities;
2using Microsoft.Teams.Apps.Routing;
3
4namespace Micosoft.Teams.Apps.Tests.Routing;
5
6public class RouterTests
7{
8 private readonly Router _router;
9
10 public RouterTests()
11 {
12 _router = new();
13 }
14
15 [Fact]
16 public void Should_Register_Routes()
17 {
18 _router.Register(ActivityType.Message, ctx =>
19 {
20 return Task.FromResult<object?>(null);
21 });
22
23 _router.Register(new Route()
24 {
25 Name = ActivityType.Message,
26 Selector = activity =>
27 {
28 if (activity is MessageActivity message)
29 {
30 return message.Text == "hi";
31 }
32
33 return false;
34 },
35 Handler = ctx =>
36 {
37 return Task.FromResult<object?>(null);
38 }
39 });
40
41 Assert.Single(_router.Select(new MessageActivity()));
42 Assert.Equal(2, _router.Select(new MessageActivity("hi")).Count);
43 }
44
45 [Fact]
46 public void Should_Override_System_Route()
47 {
48 _router.Register(new Route()
49 {
50 Name = ActivityType.Message,
51 Type = RouteType.System,
52 Selector = activity =>
53 {
54 if (activity is MessageActivity message)
55 {
56 return message.Text == "hi";
57 }
58
59 return false;
60 },
61 Handler = ctx =>
62 {
63 return Task.FromResult<object?>(null);
64 }
65 });
66
67 _router.Register(ActivityType.Message, ctx =>
68 {
69 return Task.FromResult<object?>(null);
70 });
71
72 Assert.Single(_router.Select(new MessageActivity()));
73 Assert.Single(_router.Select(new MessageActivity("hi")));
74 }
75}