< Summary

Class:DCL.Guests.HUD.ConnectWallet.ConnectWalletComponentController
Assembly:ConnectWalletHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ConnectWalletHUD/ConnectWalletComponentController.cs
Covered lines:30
Uncovered lines:0
Coverable lines:30
Total lines:67
Line coverage:100% (30 of 30)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ConnectWalletComponentController(...)0%110100%
Dispose()0%110100%
OnCancelWalletConnection()0%110100%
OnConfirmWalletConnection()0%110100%
OnConfirmHelp()0%110100%
OnChangeVisibility(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ConnectWalletHUD/ConnectWalletComponentController.cs

#LineLine coverage
 1using DCL.Browser;
 2using System;
 3
 4namespace DCL.Guests.HUD.ConnectWallet
 5{
 6    public class ConnectWalletComponentController : IDisposable
 7    {
 8        private const string HELP_URL = "https://docs.decentraland.org/player/blockchain-integration/get-a-wallet/";
 9
 10        private readonly IConnectWalletComponentView connectWalletView;
 11        private readonly IBrowserBridge browserBridge;
 12        private readonly IUserProfileBridge userProfileBridge;
 13        private readonly DataStore dataStore;
 14
 1215        private BaseVariable<bool> connectWalletModalVisible => dataStore.HUDs.connectWalletModalVisible;
 116        private BaseVariable<bool> closedWalletModal => dataStore.HUDs.closedWalletModal;
 17
 518        public ConnectWalletComponentController(
 19            IConnectWalletComponentView connectWalletView,
 20            IBrowserBridge browserBridge,
 21            IUserProfileBridge userProfileBridge,
 22            DataStore dataStore)
 23        {
 524            this.connectWalletView = connectWalletView;
 525            this.browserBridge = browserBridge;
 526            this.userProfileBridge = userProfileBridge;
 527            this.dataStore = dataStore;
 28
 529            this.connectWalletView.OnCancel += OnCancelWalletConnection;
 530            this.connectWalletView.OnConnect += OnConfirmWalletConnection;
 531            this.connectWalletView.OnHelp += OnConfirmHelp;
 532            connectWalletModalVisible.OnChange += OnChangeVisibility;
 533        }
 34
 35        public void Dispose()
 36        {
 537            connectWalletView.OnCancel -= OnCancelWalletConnection;
 538            connectWalletView.OnConnect -= OnConfirmWalletConnection;
 539            connectWalletView.OnHelp -= OnConfirmHelp;
 540            connectWalletModalVisible.OnChange -= OnChangeVisibility;
 541        }
 42
 43        private void OnCancelWalletConnection()
 44        {
 145            connectWalletView.Hide();
 146            connectWalletModalVisible.Set(newValue: false, notifyEvent: false);
 147            closedWalletModal.Set(true);
 148        }
 49
 50        private void OnConfirmWalletConnection()
 51        {
 152            connectWalletView.Hide();
 153            connectWalletModalVisible.Set(newValue: false, notifyEvent: false);
 154            userProfileBridge.SignUp();
 155        }
 56
 157        private void OnConfirmHelp() => browserBridge.OpenUrl(HELP_URL);
 58
 59        private void OnChangeVisibility(bool isVisible, bool previousIsVisible)
 60        {
 461            if (isVisible)
 362                connectWalletView.Show();
 63            else
 164                connectWalletView.Hide();
 165        }
 66    }
 67}