You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

55 lines
1.7 KiB

using System.Collections.Generic;
using NUnit.Framework;
using UnityEditor.Experimental.UIElements;
using UnityEngine;
using UnityEngine.Experimental.UIElements;
namespace UnityEditor.PackageManager.UI.Tests
{
internal abstract class UITests<TWindow> where TWindow : EditorWindow
{
private TWindow Window { get; set; }
protected VisualElement Container { get { return Window.GetRootVisualContainer(); } }
protected MockOperationFactory Factory { get; private set; }
[OneTimeSetUp]
protected void OneTimeSetUp()
{
Factory = new MockOperationFactory();
OperationFactory.Instance = Factory;
Window = EditorWindow.GetWindow<TWindow>();
Window.Show();
}
[OneTimeTearDown]
protected void OneTimeTearDown()
{
OperationFactory.Reset();
Window = null;
if (TestContext.CurrentContext.Result.FailCount <= 0)
{
PackageCollection.Instance.UpdatePackageCollection(true);
}
}
protected void SetSearchPackages(IEnumerable<PackageInfo> packages)
{
Factory.SearchOperation = new MockSearchOperation(Factory, packages);
PackageCollection.Instance.FetchSearchCache(true);
}
protected void SetListPackages(IEnumerable<PackageInfo> packages)
{
Factory.Packages = packages;
PackageCollection.Instance.FetchListCache(true);
}
protected static Error MakeError(ErrorCode code, string message)
{
var error = "{\"errorCode\" : " + (uint)code + ", \"message\" : \"" + message + "\"}";
return JsonUtility.FromJson<Error>(error);
}
}
}