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.Apps.Tests/Activities/Conversations/ConversationEndActivityTests.cs

81lines · modecode

1using Microsoft.Teams.Api.Activities;
2using Microsoft.Teams.Api.Auth;
3using Microsoft.Teams.Apps.Activities;
4using Microsoft.Teams.Apps.Annotations;
5using Microsoft.Teams.Apps.Testing.Plugins;
6
7namespace Microsoft.Teams.Apps.Tests.Activities;
8
9[Obsolete]
10public class ConversationEndActivityTests
11{
12 private readonly App _app = new();
13 private readonly IToken _token = Globals.Token;
14 private readonly Controller _controller = new();
15
16 public ConversationEndActivityTests()
17 {
18 _app.AddPlugin(new TestPlugin());
19 _app.AddController(_controller);
20 }
21
22 [Fact]
23 public async Task Should_CallHandler()
24 {
25 var calls = 0;
26
27 _app.OnActivity(context =>
28 {
29 calls++;
30 Assert.True(context.Activity.Type.IsEndOfConversation);
31 return context.Next();
32 });
33
34 _app.OnConversationEnd(context =>
35 {
36 calls++;
37 Assert.True(context.Activity.Type.IsEndOfConversation);
38 return Task.CompletedTask;
39 });
40
41 var res = await _app.Process<TestPlugin>(_token, new EndOfConversationActivity() { Text = "test" });
42
43 Assert.Equal(System.Net.HttpStatusCode.OK, res.Status);
44 Assert.Equal(2, calls);
45 Assert.Equal(1, _controller.Calls);
46 Assert.Equal(3, res.Meta.Routes);
47 }
48
49 [Fact]
50 public async Task Should_Not_CallHandler()
51 {
52 var calls = 0;
53
54 _app.OnConversationEnd(context =>
55 {
56 calls++;
57 Assert.True(context.Activity.Type.IsEndOfConversation);
58 return Task.CompletedTask;
59 });
60
61 var res = await _app.Process<TestPlugin>(_token, new ConversationUpdateActivity());
62
63 Assert.Equal(System.Net.HttpStatusCode.OK, res.Status);
64 Assert.Equal(0, calls);
65 Assert.Equal(0, _controller.Calls);
66 Assert.Equal(0, res.Meta.Routes);
67 }
68
69 [TeamsController]
70 public class Controller
71 {
72 public int Calls { get; private set; } = 0;
73
74 [Conversation.End]
75 public void OnConversationEnd([Context] IContext.Next next)
76 {
77 Calls++;
78 next();
79 }
80 }
81}