< Summary

Class:BIWCatalogShould
Assembly:BuilderInWorldTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Tests/BIWCatalogShould.cs
Covered lines:62
Uncovered lines:4
Coverable lines:66
Total lines:128
Line coverage:93.9% (62 of 66)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%330100%
BuilderInWorldSearch()0%3.213071.43%
BuilderInWorldQuickBar()0%220100%
BuilderInWorldToggleFavorite()0%110100%
CatalogItemsSceneObject()0%110100%
CatalogItemsNfts()0%110100%
TearDown()0%440100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Tests/BIWCatalogShould.cs

#LineLine coverage
 1using DCL;
 2using DCL.Helpers;
 3using NUnit.Framework;
 4using System.Collections;
 5using System.Collections.Generic;
 6using System.Linq;
 7using UnityEngine;
 8using UnityEngine.TestTools;
 9
 10public class BIWCatalogShould
 11{
 12    private GameObject gameObjectToUse;
 13
 14    [UnitySetUp]
 15    protected IEnumerator SetUp()
 16    {
 517        BIWCatalogManager.Init();
 518        gameObjectToUse = new GameObject("_TestObject");
 519        gameObjectToUse.AddComponent<AssetCatalogBridge>();
 520        yield return null;
 521    }
 22
 23    [Test]
 24    public void BuilderInWorldSearch()
 25    {
 126        string nameToFilter = "Sandy";
 127        BuilderInWorldTestHelper.CreateTestCatalogLocalMultipleFloorObjects();
 28
 129        CatalogItem catalogItemToFilter = null;
 330        foreach (CatalogItem catalogItem in DataStore.i.builderInWorld.catalogItemDict.GetValues())
 31        {
 132            if (catalogItem.name.Contains(nameToFilter))
 33            {
 134                catalogItemToFilter = catalogItem;
 135                return;
 36            }
 37        }
 38
 039        SceneCatalogController sceneCatalogController = new SceneCatalogController();
 040        List<Dictionary<string, List<CatalogItem>>>  result = sceneCatalogController.biwSearchBarController.FilterAssets
 41
 042        CatalogItem filteredItem =  result[0].Values.ToList()[0][0];
 43
 044        Assert.AreEqual(filteredItem, catalogItemToFilter);
 145    }
 46
 47    [Test]
 48    public void BuilderInWorldQuickBar()
 49    {
 150        BuilderInWorldTestHelper.CreateTestCatalogLocalSingleObject();
 151        CatalogItem item = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];
 52
 153        CatalogItemAdapter adapter = BuilderInWorldTestHelper.CreateCatalogItemAdapter(gameObjectToUse);
 154        adapter.SetContent(item);
 55
 156        CatalogAssetGroupAdapter groupAdapter = new GameObject("_CatalogAssetGroupAdapter").AddComponent<CatalogAssetGro
 157        groupAdapter.SubscribeToEvents(adapter);
 58
 159        CatalogGroupListView catalogGroupListView = new GameObject("_CatalogGroupListView").AddComponent<CatalogGroupLis
 160        catalogGroupListView.SubscribeToEvents(groupAdapter);
 161        catalogGroupListView.generalCanvas = Utils.GetOrCreateComponent<Canvas>(gameObjectToUse);
 162        SceneCatalogView sceneCatalogView = SceneCatalogView.Create();
 163        sceneCatalogView.catalogGroupListView = catalogGroupListView;
 164        SceneCatalogController sceneCatalogController = new SceneCatalogController();
 65
 166        QuickBarView quickBarView = QuickBarView.Create();
 67
 168        QuickBarController quickBarController = new QuickBarController();
 169        sceneCatalogController.Initialize(sceneCatalogView, quickBarController);
 170        quickBarController.Initialize(quickBarView, sceneCatalogController);
 171        int slots = quickBarController.GetSlotsCount();
 172        quickBarView.shortcutsImgs = new QuickBarSlot[slots];
 73
 2074        for (int i = 0; i < slots; i++)
 75        {
 976            quickBarController.SetIndexToDrop(i);
 977            adapter.AdapterStartDragging(null);
 978            quickBarController.SetQuickBarShortcut(item, i, new Texture2D(10, 10));
 979            Assert.AreEqual(item, quickBarController.QuickBarObjectSelected(i));
 80        }
 181    }
 82
 83    [Test]
 84    public void BuilderInWorldToggleFavorite()
 85    {
 186        BuilderInWorldTestHelper.CreateTestCatalogLocalSingleObject();
 87
 188        CatalogItem item = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];
 89
 190        FavoritesController favoritesController = new FavoritesController(new GameObject("_FavoritesController").AddComp
 191        favoritesController.ToggleFavoriteState(item, null);
 192        Assert.IsTrue(item.IsFavorite());
 93
 194        favoritesController.ToggleFavoriteState(item, null);
 195        Assert.IsFalse(item.IsFavorite());
 196    }
 97
 98    [Test]
 99    public void CatalogItemsSceneObject()
 100    {
 1101        BuilderInWorldTestHelper.CreateTestCatalogLocalSingleObject();
 102
 1103        Assert.AreEqual(DataStore.i.builderInWorld.catalogItemDict.Count(), 1);
 1104        Assert.AreEqual(DataStore.i.builderInWorld.catalogItemPackDict.Count(), 1);
 1105        Assert.AreEqual(BIWCatalogManager.GetCatalogItemPacksFilteredByCategories().Count, 1);
 1106    }
 107
 108    [Test]
 109    public void CatalogItemsNfts()
 110    {
 1111        BuilderInWorldTestHelper.CreateNFT();
 112
 1113        Assert.AreEqual(DataStore.i.builderInWorld.catalogItemDict.Count(), 1);
 1114        Assert.AreEqual(DataStore.i.builderInWorld.catalogItemPackDict.Count(), 1);
 1115        Assert.AreEqual(BIWCatalogManager.GetCatalogItemPacksFilteredByCategories().Count, 1);
 1116    }
 117
 118    [UnityTearDown]
 119    protected IEnumerator TearDown()
 120    {
 5121        AssetCatalogBridge.i.ClearCatalog();
 5122        BIWCatalogManager.ClearCatalog();
 5123        BIWCatalogManager.Dispose();
 5124        if (gameObjectToUse != null)
 5125            GameObject.Destroy(gameObjectToUse);
 5126        yield return null;
 5127    }
 128}