Forge
csharp4405de34
1using System.Net.Http.Headers;
2using System.Net.Http.Json;
3using IntercomService.Contracts;
4
5namespace IntercomService.Tests;
6
7[Collection("IntercomApi")]
8public sealed class AgentTransportAppendTests
9{
10 private readonly HttpClient _client;
11
12 public AgentTransportAppendTests(IntercomWebApplicationFactory factory) =>
13 _client = factory.CreateClient();
14
15 [Fact]
16 public async Task Admin_can_provision_agent_account()
17 {
18 var teamId = "dev-agent-team-" + Guid.NewGuid().ToString("N")[..8];
19 const string devToken = "dev-intercom-local-change-me";
20 _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", devToken);
21
22 (await _client.GetAsync($"/api/v1/teams/{teamId}")).EnsureSuccessStatusCode();
23
24 var agent = await _client.PostAsJsonAsync(
25 $"/api/v1/teams/{teamId}/agents",
26 new { display_name = "Nova" },
27 IntercomJson.Web);
28 agent.EnsureSuccessStatusCode();
29 var agentDto = await agent.Content.ReadFromJsonAsync<AgentDto>(IntercomJson.Web);
30 Assert.NotNull(agentDto);
31 Assert.StartsWith("agent-", agentDto!.MemberId, StringComparison.Ordinal);
32 Assert.False(string.IsNullOrWhiteSpace(agentDto.CredentialToken));
33 }
34}
35
View only · write via MCP/CIDE