microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/close-pull-request

Branches

Tags

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

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Api.Tests/Clients/TeamClientTests.cs

80lines · modecode

1using System.Net;
2
3using Microsoft.Teams.Api.Clients;
4using Microsoft.Teams.Common.Http;
5
6using Moq;
7
8namespace Microsoft.Teams.Api.Tests.Clients;
9
10public class TeamClientTests
11{
12 [Fact]
13 public async Task TeamClient_GetByIdAsync()
14 {
15 var responseMessage = new HttpResponseMessage();
16 responseMessage.Headers.Add("Custom-Header", "HeaderValue");
17 var mockHandler = new Mock<IHttpClient>();
18 mockHandler
19 .Setup(handler => handler.SendAsync<Team>(It.IsAny<IHttpRequest>(), It.IsAny<CancellationToken>()))
20 .ReturnsAsync(new HttpResponse<Team>()
21 {
22 Headers = responseMessage.Headers,
23 StatusCode = HttpStatusCode.OK,
24 Body = new Team { Id = "team123", Name = "Test Team" }
25 });
26
27 string serviceUrl = "https://serviceurl.com/";
28 string teamId = "team123";
29 var teamClient = new TeamClient(serviceUrl, mockHandler.Object);
30
31 var result = await teamClient.GetByIdAsync(teamId);
32
33 Assert.Equal("team123", result.Id);
34 Assert.Equal("Test Team", result.Name);
35
36 string expectedUrl = "https://serviceurl.com/v3/teams/team123";
37 HttpMethod expectedMethod = HttpMethod.Get;
38 mockHandler.Verify(x => x.SendAsync<Team>(
39 It.Is<IHttpRequest>(arg => arg.Url == expectedUrl && arg.Method == expectedMethod),
40 It.IsAny<CancellationToken>()),
41 Times.Once);
42 }
43
44 [Fact]
45 public async Task TeamClient_GetConversationsAsync()
46 {
47 var responseMessage = new HttpResponseMessage();
48 responseMessage.Headers.Add("Custom-Header", "HeaderValue");
49 var mockHandler = new Mock<IHttpClient>();
50 mockHandler
51 .Setup(handler => handler.SendAsync<List<Channel>>(It.IsAny<IHttpRequest>(), It.IsAny<CancellationToken>()))
52 .ReturnsAsync(new HttpResponse<List<Channel>>()
53 {
54 Headers = responseMessage.Headers,
55 StatusCode = HttpStatusCode.OK,
56 Body = new List<Channel>
57 {
58 new Channel { Id = "channel1", Name = "General" },
59 new Channel { Id = "channel2", Name = "Dev Team" }
60 }
61 });
62
63 string serviceUrl = "https://serviceurl.com/";
64 string teamId = "team123";
65 var teamClient = new TeamClient(serviceUrl, mockHandler.Object);
66
67 var result = await teamClient.GetConversationsAsync(teamId);
68
69 Assert.Equal(2, result.Count);
70 Assert.Equal("channel1", result[0].Id);
71 Assert.Equal("General", result[0].Name);
72
73 string expectedUrl = "https://serviceurl.com/v3/teams/team123/conversations";
74 HttpMethod expectedMethod = HttpMethod.Get;
75 mockHandler.Verify(x => x.SendAsync<List<Channel>>(
76 It.Is<IHttpRequest>(arg => arg.Url == expectedUrl && arg.Method == expectedMethod),
77 It.IsAny<CancellationToken>()),
78 Times.Once);
79 }
80}