109 lines
4.8 KiB
C#
109 lines
4.8 KiB
C#
// using Microsoft.AspNetCore.Mvc.Testing;
|
|
// using Microsoft.Extensions.DependencyInjection;
|
|
// using Serilog;
|
|
// using System.Net;
|
|
|
|
// namespace OI.Metrology.Tests;
|
|
|
|
// [TestClass]
|
|
// public class UnitTestReactorController
|
|
// {
|
|
|
|
// private static TestContext? _TestContext;
|
|
// private static WebApplicationFactory<Archive.Program>? _WebApplicationFactory;
|
|
|
|
// [ClassInitialize]
|
|
// public static void ClassInitAsync(TestContext testContext)
|
|
// {
|
|
// _TestContext = testContext;
|
|
// _WebApplicationFactory = new WebApplicationFactory<Archive.Program>();
|
|
// }
|
|
|
|
// [TestMethod]
|
|
// public async Task GetReactors_ShouldReturnAllReactorsAsync()
|
|
// {
|
|
// HttpResponseMessage httpResponseMessage;
|
|
// if (_WebApplicationFactory is null)
|
|
// throw new NullReferenceException(nameof(_WebApplicationFactory));
|
|
// HttpClient httpClient = _WebApplicationFactory.CreateClient();
|
|
// ILogger log = Log.ForContext<UnitTestReactorController>();
|
|
// log.Information("Starting Web Application");
|
|
// IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
|
|
// Archive.Models.AppSettings appSettings = serviceProvider.GetRequiredService<Archive.Models.AppSettings>();
|
|
// httpResponseMessage = await httpClient.GetAsync($"api/{nameof(Archive.ApiControllers.ReactorsController)[..^10]}/true");
|
|
// Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode);
|
|
// Assert.AreEqual("application/json; charset=utf-8", httpResponseMessage.Content.Headers.ContentType?.ToString());
|
|
// httpResponseMessage = await httpClient.GetAsync($"api/{nameof(Archive.ApiControllers.ReactorsController)[..^10]}/false");
|
|
// Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode);
|
|
// // string result = await httpResponseMessage.Content.ReadAsStringAsync();
|
|
// // Assert.AreEqual("\"Sample Name 1\"", result);
|
|
// httpClient.Dispose();
|
|
// log.Information($"{_TestContext?.TestName} completed");
|
|
// }
|
|
|
|
// // [TestMethod]
|
|
// // public void GetAllProducts_ShouldReturnAllProducts()
|
|
// // {
|
|
// // var testProducts = GetTestProducts();
|
|
// // var controller = new OI.Metrology.Archive.ApiControllers.ReactorsController(testProducts);
|
|
|
|
// // var result = controller.GetAllProducts() as List<Product>;
|
|
// // Assert.AreEqual(testProducts.Count, result.Count);
|
|
// // }
|
|
|
|
// // [TestMethod]
|
|
// // public async Task GetAllProductsAsync_ShouldReturnAllProducts()
|
|
// // {
|
|
// // var testProducts = GetTestProducts();
|
|
// // var controller = new OI.Metrology.Archive.ApiControllers.ReactorsController(testProducts);
|
|
|
|
// // var result = await controller.GetAllProductsAsync() as List<Product>;
|
|
// // Assert.AreEqual(testProducts.Count, result.Count);
|
|
// // }
|
|
|
|
// // [TestMethod]
|
|
// // public void GetProduct_ShouldReturnCorrectProduct()
|
|
// // {
|
|
// // var testProducts = GetTestProducts();
|
|
// // var controller = new OI.Metrology.Archive.ApiControllers.ReactorsController(testProducts);
|
|
|
|
// // var result = controller.GetProduct(4) as OkNegotiatedContentResult<Product>;
|
|
// // Assert.IsNotNull(result);
|
|
// // Assert.AreEqual(testProducts[3].Name, result.Content.Name);
|
|
// // }
|
|
|
|
// // [TestMethod]
|
|
// // public async Task GetProductAsync_ShouldReturnCorrectProduct()
|
|
// // {
|
|
// // var testProducts = GetTestProducts();
|
|
// // var controller = new OI.Metrology.Archive.ApiControllers.ReactorsController(testProducts);
|
|
|
|
// // var result = await controller.GetProductAsync(4) as OkNegotiatedContentResult<Product>;
|
|
// // Assert.IsNotNull(result);
|
|
// // Assert.AreEqual(testProducts[3].Name, result.Content.Name);
|
|
// // }
|
|
|
|
// // [TestMethod]
|
|
// // public void GetProduct_ShouldNotFindProduct()
|
|
// // {
|
|
// // var controller = new OI.Metrology.Archive.ApiControllers.ReactorsController(GetTestProducts());
|
|
|
|
// // var result = controller.GetProduct(999);
|
|
// // Assert.IsInstanceOfType(result, typeof(NotFoundResult));
|
|
// // }
|
|
|
|
// // private List<Product> GetTestProducts()
|
|
// // {
|
|
// // var testProducts = new List<Product>();
|
|
// // testProducts.Add(new Product { Id = 1, Name = "Demo1", Price = 1 });
|
|
// // testProducts.Add(new Product { Id = 2, Name = "Demo2", Price = 3.75M });
|
|
// // testProducts.Add(new Product { Id = 3, Name = "Demo3", Price = 16.99M });
|
|
// // testProducts.Add(new Product { Id = 4, Name = "Demo4", Price = 11.00M });
|
|
|
|
// // return testProducts;
|
|
// // }
|
|
|
|
// [ClassCleanup]
|
|
// public static void ClassCleanup() => _WebApplicationFactory?.Dispose();
|
|
|
|
// } |