microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
samples/repro-da

Branches

Tags

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

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Apps.Tests/Activities/Conversations/Channels/ChannelUnSharedActivityTests.cs

94lines · 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 ChannelUnSharedActivityTests
11{
12 private readonly App _app = new();
13 private readonly IToken _token = Globals.Token;
14 private readonly Controller _controller = new();
15
16 public ChannelUnSharedActivityTests()
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.IsConversationUpdate);
31 return context.Next();
32 });
33
34 _app.OnChannelUnShared(context =>
35 {
36 calls++;
37 Assert.True(context.Activity.Type.IsConversationUpdate);
38 Assert.Equal(ConversationUpdateActivity.EventType.ChannelUnShared, context.Activity.ChannelData?.EventType);
39 return Task.CompletedTask;
40 });
41
42 var res = await _app.Process<TestPlugin>(_token, new ConversationUpdateActivity()
43 {
44 ChannelData = new()
45 {
46 EventType = ConversationUpdateActivity.EventType.ChannelUnShared
47 }
48 });
49
50 Assert.Equal(System.Net.HttpStatusCode.OK, res.Status);
51 Assert.Equal(2, calls);
52 Assert.Equal(1, _controller.Calls);
53 Assert.Equal(3, res.Meta.Routes);
54 }
55
56 [Fact]
57 public async Task Should_Not_CallHandler()
58 {
59 var calls = 0;
60
61 _app.OnChannelUnShared(context =>
62 {
63 calls++;
64 Assert.True(context.Activity.Type.IsConversationUpdate);
65 return Task.CompletedTask;
66 });
67
68 var res = await _app.Process<TestPlugin>(_token, new ConversationUpdateActivity()
69 {
70 ChannelData = new()
71 {
72 EventType = ConversationUpdateActivity.EventType.ChannelDeleted
73 }
74 });
75
76 Assert.Equal(System.Net.HttpStatusCode.OK, res.Status);
77 Assert.Equal(0, calls);
78 Assert.Equal(0, _controller.Calls);
79 Assert.Equal(0, res.Meta.Routes);
80 }
81
82 [TeamsController]
83 public class Controller
84 {
85 public int Calls { get; private set; } = 0;
86
87 [Conversation.ChannelUnShared]
88 public void OnChannelUnShared([Context] IContext.Next next)
89 {
90 Calls++;
91 next();
92 }
93 }
94}