This commit is contained in:
2022-11-15 18:20:46 +00:00
parent d95d49d4c6
commit 5f2a181baa
67 changed files with 2225 additions and 378 deletions
@@ -3,6 +3,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using Saxonite.Net.Core.Web.Base.App;
using Saxonite.Net.Core.Web.Online.App;
using Saxonite.Net.Standard.Base.App;
using System;
@@ -11,45 +12,59 @@ using System.Text;
namespace Saxonite.Net.Core.UnitTests.Web.Online.App
{
//=======================================================================
[TestClass]
public class SaxApplication_Online_Tester
{
//-------------------------------------------------------------------
// Application.
private class SaxApplication_Online_Test : SaxApplication_Online
{
public SaxApplication_Online_Test(IConfiguration configuration, IWebHostEnvironment env) :
base(configuration)
{
InitEnvironment(env);
}
}
private static SaxApplication_Online_Test app;
public static SaxApplication_Online App
{
get
{
if (app == null)
{
var mockConfiguration = new Mock<IConfiguration>();
//=======================================================================
[TestClass]
public class SaxApplication_Online_Tester
{
//-------------------------------------------------------------------
// Application.
private class SaxApplication_Online_Test : SaxApplication_Online
{
public SaxApplication_Online_Test(IConfiguration configuration, IWebHostEnvironment env) :
base(configuration)
{
InitEnvironment(env);
var mockEnvironment = new Mock<IWebHostEnvironment>();
mockEnvironment.Setup(m => m.EnvironmentName).Returns(Environments.Development);
mockEnvironment.Setup(m => m.ContentRootPath).Returns(@"D:\Sarand\Projects\Users\AHoward\VS2019\Saxonite\Workspace\SaxoniteCoreWebOnline");
// Application initialisation currently fails reading configuration.
if (SessionContext == null)
SessionContext = new SessionContextData(new SaxSessionContext_Web(100, Sax.Application.Online)).SessionContext;
}
}
private static SaxApplication_Online_Test app;
public static SaxApplication_Online App
{
get
{
if (app == null)
{
var mockConfiguration = new Mock<IConfiguration>();
app = new SaxApplication_Online_Test(mockConfiguration.Object, mockEnvironment.Object);
}
return app;
}
}
var mockEnvironment = new Mock<IWebHostEnvironment>();
mockEnvironment.Setup(m => m.EnvironmentName).Returns(Environments.Development);
mockEnvironment.Setup(m => m.ContentRootPath).Returns(@"D:\Sarand\Projects\Users\AHoward\VS2022\Saxonite\Workspace\SaxoniteCoreWebOnline");
//-------------------------------------------------------------------
// Internals - component managers etc.
private static SaxInternals internals;
public static SaxInternals Internals { get { if (internals == null) internals = new SaxInternals(App.SessionContext); return internals; } }
app = new SaxApplication_Online_Test(mockConfiguration.Object, mockEnvironment.Object);
}
return app;
}
}
//-------------------------------------------------------------------
}
//=======================================================================
//-------------------------------------------------------------------
// Internals - component managers etc.
private static SaxInternals internals;
public static SaxInternals Internals
{
get
{
if (internals == null)
{
internals = new SaxInternals(App.SessionContext);
}
return internals;
}
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -63,6 +63,9 @@ namespace Saxonite.Net.Core.UnitTests.Web.Online.App
Assert.IsTrue(sessionData.ValidUserSession);
Assert.AreNotEqual("", sessionData.User.DisplayName);
// User configuration.
sessionData.UserConfig.Profile.Eligibility.HideInfo = true;
// Profile sports.
foreach (SaxSessionData_Online.UserProfileData.SportData sport in sports)
sessionData.Profile.AddSport(sport.SportId, sport.Status);
@@ -121,8 +124,11 @@ namespace Saxonite.Net.Core.UnitTests.Web.Online.App
Assert.AreNotEqual(0, userRoleDeserialised.Role);
}
// Profile sports.
Assert.AreEqual(sports.Count, sessionDataDeserialised.Profile.Sports.Count);
// User configuration.
Assert.AreEqual(sessionData.UserConfig.Profile.Eligibility.HideInfo, sessionDataDeserialised.UserConfig.Profile.Eligibility.HideInfo);
// Profile sports.
Assert.AreEqual(sports.Count, sessionDataDeserialised.Profile.Sports.Count);
foreach (SaxSessionData_Online.UserProfileData.SportData sport in sports)
{
SaxSessionData_Online.UserProfileData.SportData sportDeserialised = sessionDataDeserialised.Profile.Sports.Find(item => item.SportId.Equals(sport.SportId));