diff --git a/MainProject.Tests/Controllers/VersionController_Tests.cs b/MainProject.Tests/Controllers/VersionController_Tests.cs new file mode 100644 index 0000000..c4ad5df --- /dev/null +++ b/MainProject.Tests/Controllers/VersionController_Tests.cs @@ -0,0 +1,36 @@ +using System; +using System.Reflection; +using System.Net; +using System.Net.Http; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using BasicDotnetTemplate.MainProject; +using BasicDotnetTemplate.MainProject.Controllers; +using Microsoft.Extensions.Configuration; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Infrastructure; + + +namespace BasicDotnetTemplate.MainProject.Tests; + +[TestClass] +public class BaseController_Tests +{ + [TestMethod] + public void BaseControllerInit_Valid() + { + Environment.SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development"); + + try + { + IConfiguration configuration = TestUtils.CreateConfiguration(); + VersionController versionController = new VersionController(configuration); + var result = versionController.GetVersion(); + Assert.IsTrue(((IStatusCodeActionResult)result).StatusCode == 200); + } + catch (Exception ex) + { + Console.WriteLine(ex.InnerException); + Assert.Fail($"An exception was thrown: {ex.Message}"); + } + } +} diff --git a/MainProject.Tests/TestsUtils/TestUtils.cs b/MainProject.Tests/TestsUtils/TestUtils.cs new file mode 100644 index 0000000..f33d9f2 --- /dev/null +++ b/MainProject.Tests/TestsUtils/TestUtils.cs @@ -0,0 +1,47 @@ +using System; +using System.Reflection; +using System.Net; +using System.Net.Http; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using BasicDotnetTemplate.MainProject; +using BasicDotnetTemplate.MainProject.Models.Api.Response; +using Microsoft.Extensions.DependencyModel.Resolution; +using BasicDotnetTemplate.MainProject.Models.Settings; +using Microsoft.AspNetCore.Builder; +using BasicDotnetTemplate.MainProject.Utils; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Configuration; +using Microsoft.OpenApi.Models; +using Microsoft.OpenApi.Interfaces; + + +namespace BasicDotnetTemplate.MainProject.Tests; + +public static class TestUtils +{ + public static IConfiguration? CreateConfiguration() + { + try + { + WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); + AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData"); + ProgramUtils.AddOpenApi(ref builder, appSettings); + AppSettings _appSettings = new AppSettings(); + builder.Configuration.GetSection("AppSettings").Bind(_appSettings); + return builder.Configuration; + } + catch (Exception ex) + { + Console.WriteLine(ex.InnerException); + return null; + } + } + + + + +} + + + +