using System; using System.Collections.Generic; using System.Reflection; using DanroJump.Prizes.Qr; using DanroJump.Settings; using DanroJump.UI.ArcadeInput; using DanroJump.UI.MainMenu; using DanroJump.UI.Modals; using NUnit.Framework; using UnityEngine; using UnityEngine.UIElements; namespace DanroJump.Tests.EditMode { public sealed class MainMenuControllerServiceActionTests { private GameObject gameObject; [TearDown] public void TearDown() { if (gameObject != null) { UnityEngine.Object.DestroyImmediate(gameObject); } } [Test] public void QrSettingsAction_OpensQrTierSettingsModal() { var controller = CreateController(); var settings = new StubSettingsService(); var qrSettingsRoot = CreateQrSettingsRoot(); var qrSettingsModal = new QrCodeSettingsModalWindow(qrSettingsRoot, settings); TestObjectFactory.SetPrivateField(controller, "serviceSettingsService", settings); TestObjectFactory.SetPrivateField(controller, "qrCodeSettingsModal", qrSettingsModal); TestObjectFactory.SetPrivateField(controller, "modalStack", new ModalStackController(new VisualElement(), null)); InvokeServiceAction( controller, ServiceSettingsActionResult.Success( "Настройки QR", "Открыты настройки QR.", ServiceSettingsKeys.QrPrizeTextSettings)); Assert.That(qrSettingsModal.IsOpen, Is.True); Assert.That(qrSettingsRoot.Q