public async Task ShouldCreate_Update_AndDelete_Webhook_ViaAPI() { var webhook = await _wxTeamsApi.CreateWebhookAsync("Sparkly TestHook2", "http://unicorncentral.com/sparklywebhookreciever2", WebhookResource.Messages, EventType.Created, filter : $"roomId={StaticTestingValues.JRoom}"); webhook.Should().NotBeNull(); webhook.Name.Should().Be("Sparkly TestHook2"); webhook.Resource.Should().Be(WebhookResource.Messages); webhook.Event.Should().Be(EventType.Created); webhook.Filter.Should().Contain(StaticTestingValues.JRoom); var updated = await _wxTeamsApi.UpdateWebhookAsync(webhook.Id, "NoName", webhook.TargetUrl); updated.Name.Should().Be("NoName"); var deleted = await _wxTeamsApi.DeleteWebhookAsync(webhook.Id); deleted.Message.Should().Be("OK"); Func <Task> webhookNotFound = async() => await _wxTeamsApi.GetWebhookAsync(webhook.Id); webhookNotFound.Should().Throw <TeamsApiException>().WithMessage("The requested resource could not be found."); }