< Summary

Class:PlayerInfoCardHUDViewShould
Assembly:PlayerInfoCardHUDTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/PlayerInfoCardHUD/Tests/PlayerInfoCardHUDViewShould.cs
Covered lines:66
Uncovered lines:2
Coverable lines:68
Total lines:152
Line coverage:97% (66 of 68)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%330100%
TearDown()0%330100%
BeCreatedProperly()0%110100%
InitializeProperly()0%110100%
UpdateCanvasActiveProperly(...)0%110100%
UpdateTabsProperly(...)0%220100%
UpdateProfileDataProperly()0%110100%
CreateCollectibles()0%2.212062.5%
GetTabMapping(...)0%110100%
CreateMockWearableByRarity(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/PlayerInfoCardHUD/Tests/PlayerInfoCardHUDViewShould.cs

#LineLine coverage
 1using NUnit.Framework;
 2using System.Collections;
 3using System.Linq;
 4
 5public class PlayerInfoCardHUDViewShould : IntegrationTestSuite_Legacy
 6{
 7    private PlayerInfoCardHUDView view;
 8    private UserProfile userProfile;
 99    protected override bool justSceneSetUp => true;
 10
 11    protected override IEnumerator SetUp()
 12    {
 913        yield return base.SetUp();
 14
 915        view = PlayerInfoCardHUDView.CreateView();
 916        view.Initialize(null, null, null, null, null, null, null, null);
 17
 918        CreateMockWearableByRarity(WearableLiterals.ItemRarity.EPIC);
 919        CreateMockWearableByRarity(WearableLiterals.ItemRarity.LEGENDARY);
 920        CreateMockWearableByRarity(WearableLiterals.ItemRarity.MYTHIC);
 921        CreateMockWearableByRarity(WearableLiterals.ItemRarity.RARE);
 922        CreateMockWearableByRarity(WearableLiterals.ItemRarity.UNIQUE);
 23
 924        UserProfileController.i.AddUserProfileToCatalog(new UserProfileModel()
 25        {
 26            userId = "userId",
 27            name = "username",
 28            description = "description",
 29            email = "email",
 30            inventory = new string[]
 31            {
 32                WearableLiterals.ItemRarity.EPIC,
 33                WearableLiterals.ItemRarity.LEGENDARY,
 34                WearableLiterals.ItemRarity.MYTHIC,
 35                WearableLiterals.ItemRarity.RARE,
 36                WearableLiterals.ItemRarity.UNIQUE,
 37            }
 38        });
 39
 940        userProfile = UserProfileController.userProfilesCatalog.Get("userId");
 941    }
 42
 43    protected override IEnumerator TearDown()
 44    {
 945        UnityEngine.Object.Destroy(view.gameObject);
 946        yield return base.TearDown();
 947    }
 48
 49    [Test]
 250    public void BeCreatedProperly() { Assert.IsNotNull(view); }
 51
 52    [Test]
 53    public void InitializeProperly()
 54    {
 155        bool hideCardButtonWasPressed = false;
 156        bool reportButtonWasPressed = false;
 157        bool blockButtonWasPressed = false;
 158        bool unblockButtonWasPressed = false;
 159        bool addFriendWasPressed = false;
 160        bool cancelWasPressed = false;
 161        bool acceptRequestWasPressed = false;
 162        bool rejectRequestWasPressed = false;
 63
 964        view.Initialize(() => hideCardButtonWasPressed = true, () => reportButtonWasPressed = true, () => blockButtonWas
 165        view.hideCardButton.onClick.Invoke();
 166        view.reportPlayerButton.onClick.Invoke();
 167        view.blockPlayerButton.onClick.Invoke();
 168        view.unblockPlayerButton.onClick.Invoke();
 169        view.addFriendButton.onClick.Invoke();
 170        view.requestSentButton.onClick.Invoke();
 171        view.acceptRequestButton.onClick.Invoke();
 172        view.rejectRequestButton.onClick.Invoke();
 73
 174        Assert.IsTrue(hideCardButtonWasPressed);
 175        Assert.IsTrue(reportButtonWasPressed);
 176        Assert.IsTrue(blockButtonWasPressed);
 177        Assert.IsTrue(unblockButtonWasPressed);
 178        Assert.IsTrue(addFriendWasPressed);
 179        Assert.IsTrue(cancelWasPressed);
 180        Assert.IsTrue(acceptRequestWasPressed);
 181        Assert.IsTrue(rejectRequestWasPressed);
 182        Assert.IsTrue(GetTabMapping(PlayerInfoCardHUDView.Tabs.Passport).container.activeSelf);
 183        Assert.IsFalse(GetTabMapping(PlayerInfoCardHUDView.Tabs.Trade).container.activeSelf);
 184        Assert.IsFalse(GetTabMapping(PlayerInfoCardHUDView.Tabs.Block).container.activeSelf);
 185    }
 86
 87    [Test]
 88    [TestCase(true)]
 89    [TestCase(false)]
 90    public void UpdateCanvasActiveProperly(bool cardActive)
 91    {
 292        view.SetCardActive(cardActive);
 293        Assert.AreEqual(cardActive, view.cardCanvas.enabled);
 294    }
 95
 96    [Test]
 97    [TestCase(PlayerInfoCardHUDView.Tabs.Passport)]
 98    [TestCase(PlayerInfoCardHUDView.Tabs.Block)]
 99    [TestCase(PlayerInfoCardHUDView.Tabs.Trade)]
 100    public void UpdateTabsProperly(PlayerInfoCardHUDView.Tabs tab)
 101    {
 3102        GetTabMapping(tab).toggle.isOn = true;
 24103        foreach (var tabsMapping in view.tabsMapping)
 104        {
 9105            Assert.AreEqual(tabsMapping.container.activeSelf, tabsMapping.tab == tab, $"{tab} Tab was selected and Tab: 
 106        }
 3107    }
 108
 109    [Test]
 110    public void UpdateProfileDataProperly()
 111    {
 1112        view.SetUserProfile(userProfile);
 113
 1114        Assert.AreEqual(userProfile, view.currentUserProfile);
 1115        Assert.AreEqual(userProfile.userName, view.name.text);
 1116        Assert.AreEqual(userProfile.description, view.description.text);
 1117    }
 118
 119    [Test]
 120    public void CreateCollectibles()
 121    {
 1122        view.SetUserProfile(userProfile);
 123
 1124        Assert.AreEqual(userProfile.inventory.Count, view.playerInfoCollectibles.Count);
 2125        foreach (var keyValuePair in userProfile.inventory)
 126        {
 0127            var wearable = CatalogController.wearableCatalog.Get(keyValuePair.Key);
 0128            Assert.IsTrue(view.playerInfoCollectibles.Any(x => x.collectible == wearable));
 129        }
 1130    }
 131
 18132    private PlayerInfoCardHUDView.TabsMapping GetTabMapping(PlayerInfoCardHUDView.Tabs tab) { return view.tabsMapping.Fi
 133
 134    private WearableItem CreateMockWearableByRarity(string rarity)
 135    {
 45136        var wearable = new WearableItem()
 137        {
 138            id = rarity,
 139            rarity = rarity,
 140            data = new WearableItem.Data()
 141            {
 142                tags = new string[] { },
 143                category = WearableLiterals.Categories.UPPER_BODY
 144            }
 145        };
 146
 45147        CatalogController.wearableCatalog.Remove(rarity);
 45148        CatalogController.wearableCatalog.Add(rarity, wearable);
 149
 45150        return wearable;
 151    }
 152}