All but DataTable Deserialize

This commit is contained in:
2023-01-09 19:26:00 -07:00
parent 6cbcad2a5d
commit 0468c8d42d
25 changed files with 374 additions and 89 deletions

View File

@ -26,14 +26,14 @@ public class UnitAwaitingDispoController
_TestContext = testContext;
_Logger = Log.ForContext<UnitAwaitingDispoController>();
_WebApplicationFactory = new WebApplicationFactory<Viewer.Program>();
_ControllerName = nameof(Viewer.ApiControllers.ToolTypesController)[..^10];
_ControllerName = nameof(Viewer.ApiControllers.AwaitingDispoController)[..^10];
}
[TestMethod]
public void TestControllerName()
{
_Logger.Information("Starting Web Application");
Assert.AreEqual(IToolTypesController<string>.GetRouteName(), _ControllerName);
Assert.AreEqual(IAwaitingDispoController<string>.GetRouteName(), _ControllerName);
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -43,8 +43,8 @@ public class UnitAwaitingDispoController
_Logger.Information("Starting Web Application");
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IEnumerable<AwaitingDispo> awaitingDispos = metrologyRepository.GetAwaitingDispo();
Assert.IsTrue(awaitingDispos is not null);
IEnumerable<AwaitingDisposition> awaitingDispositions = metrologyRepository.GetAwaitingDisposition();
Assert.IsTrue(awaitingDispositions is not null);
_Logger.Information($"{_TestContext?.TestName} completed");
}

View File

@ -23,14 +23,14 @@ public class UnitInboundController
_TestContext = testContext;
_Logger = Log.ForContext<UnitInboundController>();
_WebApplicationFactory = new WebApplicationFactory<Viewer.Program>();
_ControllerName = nameof(Viewer.ApiControllers.ToolTypesController)[..^10];
_ControllerName = nameof(Viewer.ApiControllers.InboundController)[..^10];
}
[TestMethod]
public void TestControllerName()
{
_Logger.Information("Starting Web Application");
Assert.AreEqual(IToolTypesController<string>.GetRouteName(), _ControllerName);
Assert.AreEqual(IInboundController<string>.GetRouteName(), _ControllerName);
_Logger.Information($"{_TestContext?.TestName} completed");
}

View File

@ -1,8 +1,10 @@
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.DependencyInjection;
using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Models.Stateless;
using OI.Metrology.Shared.Services;
using Serilog;
using System.Data;
using System.Net.Http.Json;
namespace OI.Metrology.Tests;
@ -44,8 +46,10 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
object @object = toolTypesRepository.Index(metrologyRepository);
Assert.IsTrue(@object is not null);
Result<ToolTypeNameId[]> result = toolTypesRepository.Index(metrologyRepository);
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
Assert.IsFalse(result.Results.All(l => l.ID == 0));
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -54,7 +58,10 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}");
Result<ToolTypeNameId[]>? result = await httpClient.GetFromJsonAsync<Result<ToolTypeNameId[]>>($"api/{_ControllerName}");
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
Assert.IsFalse(result.Results.All(l => l.ID == 0));
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -65,8 +72,11 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
object @object = toolTypesRepository.GetToolTypeMetadata(metrologyRepository, id: 1, sortby: string.Empty);
Assert.IsTrue(@object is not null);
Result<ToolTypeMetadataResult> result = toolTypesRepository.GetToolTypeMetadata(metrologyRepository, id: 1, sortby: string.Empty);
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Metadata);
Assert.IsTrue(result.Results.Metadata.Any());
Assert.IsFalse(result.Results.Metadata.All(l => l.ToolTypeID == 0));
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -75,7 +85,11 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}/1");
Result<ToolTypeMetadataResult>? result = await httpClient.GetFromJsonAsync<Result<ToolTypeMetadataResult>>($"api/{_ControllerName}/1");
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Metadata);
Assert.IsTrue(result.Results.Metadata.Any());
Assert.IsFalse(result.Results.Metadata.All(l => l.ToolTypeID == 0));
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -86,8 +100,9 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
string json = toolTypesRepository.GetHeaders(metrologyRepository, id: 1, datebegin: null, dateend: null, page: null, pagesize: null, headerid: null);
Assert.IsTrue(json is not null);
Result<DataTable> result = toolTypesRepository.GetHeaders(metrologyRepository, id: 1, datebegin: null, dateend: null, page: null, pagesize: null, headerid: null);
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Rows.Count > 0);
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -96,7 +111,10 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}/1/headers");
string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headers");
Result<DataTable>? result = System.Text.Json.JsonSerializer.Deserialize<Result<DataTable>>(json);
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Rows.Count > 0);
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -107,8 +125,9 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
string json = toolTypesRepository.GetHeaderTitles(metrologyRepository, id: 1, page: null, pagesize: null);
Assert.IsTrue(json is not null);
Result<HeaderCommon[]> result = toolTypesRepository.GetHeaderTitles(metrologyRepository, id: 1, page: null, pagesize: null);
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -117,7 +136,9 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}/1/headertitles");
Result<HeaderCommon[]>? result = await httpClient.GetFromJsonAsync<Result<HeaderCommon[]>>($"api/{_ControllerName}/1/headertitles");
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -128,8 +149,9 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
string json = toolTypesRepository.GetHeaderFields(metrologyRepository, id: 1, headerid: 1);
Assert.IsTrue(json is not null);
Result<ColumnValue[]> result = toolTypesRepository.GetHeaderFields(metrologyRepository, id: 1, headerid: 1);
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -138,7 +160,9 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}/1/headers/1/fields");
Result<ColumnValue[]>? result = await httpClient.GetFromJsonAsync<Result<ColumnValue[]>>($"api/{_ControllerName}/1/headers/1/fields");
Assert.IsNotNull(result?.Results);
Assert.IsTrue(result.Results.Any());
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -149,8 +173,9 @@ public class UnitTestToolTypesController
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IMetrologyRepository metrologyRepository = serviceProvider.GetRequiredService<IMetrologyRepository>();
IToolTypesRepository toolTypesRepository = serviceProvider.GetRequiredService<IToolTypesRepository>();
string json = toolTypesRepository.GetData(metrologyRepository, id: 1, headerid: 1);
Assert.IsTrue(json is not null);
Result<DataTable> result = toolTypesRepository.GetData(metrologyRepository, id: 1, headerid: 1);
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Rows.Count > 0);
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -159,7 +184,10 @@ public class UnitTestToolTypesController
{
HttpClient httpClient = _WebApplicationFactory.CreateClient();
_Logger.Information("Starting Web Application");
_ = await httpClient.GetFromJsonAsync<object>($"api/{_ControllerName}/1/headers/1/data");
string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headers/1/data");
Result<DataTable>? result = System.Text.Json.JsonSerializer.Deserialize<Result<DataTable>>(json);
Assert.IsNotNull(result?.Results);
Assert.IsNotNull(result.Results.Rows.Count > 0);
_Logger.Information($"{_TestContext?.TestName} completed");
}
@ -170,7 +198,7 @@ public class UnitTestToolTypesController
_Logger.Information("Starting Web Application");
int toolTypeId = 1;
string tabletype = "data";
string filename ="data.txt";
string filename = "data.txt";
string attachmentId = "ffdf5410-ca19-4097-bfa4-b398e236d07e";
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
IAttachmentsService attachmentsService = serviceProvider.GetRequiredService<IAttachmentsService>();