using BlazorShared.Models; using Microsoft.eShopWeb; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Net; using System.Net.Http.Headers; using System.Threading.Tasks; namespace PublicApiIntegrationTests.CatalogItemEndpoints { [TestClass] public class DeleteCatalogItemEndpointTest { [TestMethod] public async Task ReturnsSuccessGivenValidIdAndAdminUserToken() { var adminToken = ApiTokenHelper.GetAdminUserToken(); var client = ProgramTest.NewClient; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await client.DeleteAsync("api/catalog-items/12"); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var model = stringResponse.FromJson<DeleteCatalogItemResponse>(); Assert.AreEqual("Deleted", model.Status); } [TestMethod] public async Task ReturnsNotFoundGivenInvalidIdAndAdminUserToken() { var adminToken = ApiTokenHelper.GetAdminUserToken(); var client = ProgramTest.NewClient; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await client.DeleteAsync("api/catalog-items/0"); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); } } }