< Summary

Class:BIWNftsShould
Assembly:BuilderInWorldTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Tests/BIWNftsShould.cs
Covered lines:33
Uncovered lines:0
Coverable lines:33
Total lines:86
Line coverage:100% (33 of 33)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateRuntimeContext()0%110100%
SetUp()0%330100%
NftsUsage()0%110100%
NftComponent()0%110100%
TearDown()0%330100%

File(s)

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

#LineLine coverage
 1using DCL;
 2using DCL.Components;
 3using DCL.Controllers;
 4using DCL.Helpers;
 5using DCL.Models;
 6using NUnit.Framework;
 7using System;
 8using System.Collections;
 9using System.Collections.Generic;
 10using Tests;
 11using UnityEngine;
 12using UnityEngine.TestTools;
 13using Environment = DCL.Environment;
 14
 15public class BIWNftsShould : IntegrationTestSuite
 16{
 17    private ParcelScene scene;
 18    private const string ENTITY_ID = "1";
 19
 20    protected override WorldRuntimeContext CreateRuntimeContext()
 21    {
 222        return DCL.Tests.WorldRuntimeContextFactory.CreateWithCustomMocks
 23        (
 24            sceneController: new SceneController(),
 25            state: new WorldState(),
 26            componentFactory: new RuntimeComponentFactory(),
 27            sceneBoundsChecker: new SceneBoundsChecker()
 28        );
 29    }
 30
 31    [UnitySetUp]
 32    protected override IEnumerator SetUp()
 33    {
 234        yield return base.SetUp();
 235        scene = (ParcelScene) Environment.i.world.sceneController.CreateTestScene();
 236        TestHelpers.CreateSceneEntity(scene, ENTITY_ID);
 237        BIWCatalogManager.Init();
 238        BuilderInWorldTestHelper.CreateNFT();
 239    }
 40
 41    [Test]
 42    public void NftsUsage()
 43    {
 144        string idToTest = BuilderInWorldNFTController.i.GetNfts()[0].assetContract.address;
 45
 146        Assert.IsFalse(BuilderInWorldNFTController.i.IsNFTInUse(idToTest));
 47
 148        BuilderInWorldNFTController.i.UseNFT(idToTest);
 149        Assert.IsTrue(BuilderInWorldNFTController.i.IsNFTInUse(idToTest));
 50
 151        BuilderInWorldNFTController.i.StopUsingNFT(idToTest);
 152        Assert.IsFalse(BuilderInWorldNFTController.i.IsNFTInUse(idToTest));
 153    }
 54
 55    [Test]
 56    public void NftComponent()
 57    {
 158        CatalogItem catalogItem = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];
 59
 60
 161        DCLBuilderInWorldEntity biwEntity = Utils.GetOrCreateComponent<DCLBuilderInWorldEntity>(scene.entities[ENTITY_ID
 162        biwEntity.Init(scene.entities[ENTITY_ID], null);
 63
 164        NFTShape nftShape = (NFTShape) scene.SharedComponentCreate(catalogItem.id, Convert.ToInt32(CLASS_ID.NFT_SHAPE));
 165        nftShape.model = new NFTShape.Model();
 166        nftShape.model.color = new Color(0.6404918f, 0.611472f, 0.8584906f);
 167        nftShape.model.src = catalogItem.model;
 168        nftShape.model.assetId = catalogItem.id;
 69
 170        scene.SharedComponentAttach(biwEntity.rootEntity.entityId, nftShape.id);
 71
 172        Assert.IsTrue(biwEntity.IsEntityNFT());
 73
 174        CatalogItem associatedCatalogItem = biwEntity.GetCatalogItemAssociated();
 175        Assert.IsTrue(associatedCatalogItem.IsNFT());
 176        Assert.AreEqual(associatedCatalogItem, catalogItem);
 177    }
 78
 79    protected override IEnumerator TearDown()
 80    {
 281        BIWCatalogManager.ClearCatalog();
 282        BuilderInWorldNFTController.i.ClearNFTs();
 283        yield return base.TearDown();
 284        PoolManager.i.Cleanup();
 285    }
 86}