using System.Linq; using NUnit.Framework; using UnityEngine; using UnityEngine.EventSystems; using Vanguard.Api; using Vanguard.App; using Vanguard.Auth; using Vanguard.Meta; using Vanguard.State; using Vanguard.UI; namespace Vanguard.Tests { public sealed class ClientSmokeTests { [Test] public void AppRootView_Builds_Login_And_Meta_Screens() { var config = new AppConfig(); config.Load(); var tokens = new TokenStore(); var api = new ApiClient(config, tokens); var player = new PlayerState(); var auth = new AuthService(api, tokens, player); var meta = new MetaService(api, player); var root = new AppRootView(config, auth, player, meta); root.Initialize(); root.ShowLogin("smoke"); Assert.IsNotNull(GameObject.Find("Vanguard Canvas")); Assert.IsNotNull(GameObject.Find("LoginScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "MetaScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "OnboardingScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "CollectionScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "DecksScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "QueueScreen")); Assert.IsTrue(Resources.FindObjectsOfTypeAll().Any(go => go.name == "BattleScreen")); Cleanup(); } private static void Cleanup() { var canvas = GameObject.Find("Vanguard Canvas"); if (canvas != null) Object.DestroyImmediate(canvas); var eventSystem = Object.FindAnyObjectByType(); if (eventSystem != null) Object.DestroyImmediate(eventSystem.gameObject); } } }