< 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:28
Uncovered lines:0
Coverable lines:28
Total lines:65
Line coverage:100% (28 of 28)
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;
 16
 517        public ConnectWalletComponentController(
 18            IConnectWalletComponentView connectWalletView,
 19            IBrowserBridge browserBridge,
 20            IUserProfileBridge userProfileBridge,
 21            DataStore dataStore)
 22        {
 523            this.connectWalletView = connectWalletView;
 524            this.browserBridge = browserBridge;
 525            this.userProfileBridge = userProfileBridge;
 526            this.dataStore = dataStore;
 27
 528            this.connectWalletView.OnCancel += OnCancelWalletConnection;
 529            this.connectWalletView.OnConnect += OnConfirmWalletConnection;
 530            this.connectWalletView.OnHelp += OnConfirmHelp;
 531            connectWalletModalVisible.OnChange += OnChangeVisibility;
 532        }
 33
 34        public void Dispose()
 35        {
 536            connectWalletView.OnCancel -= OnCancelWalletConnection;
 537            connectWalletView.OnConnect -= OnConfirmWalletConnection;
 538            connectWalletView.OnHelp -= OnConfirmHelp;
 539            connectWalletModalVisible.OnChange -= OnChangeVisibility;
 540        }
 41
 42        private void OnCancelWalletConnection()
 43        {
 144            connectWalletView.Hide();
 145            connectWalletModalVisible.Set(newValue: false, notifyEvent: false);
 146        }
 47
 48        private void OnConfirmWalletConnection()
 49        {
 150            connectWalletView.Hide();
 151            connectWalletModalVisible.Set(newValue: false, notifyEvent: false);
 152            userProfileBridge.SignUp();
 153        }
 54
 155        private void OnConfirmHelp() => browserBridge.OpenUrl(HELP_URL);
 56
 57        private void OnChangeVisibility(bool isVisible, bool previousIsVisible)
 58        {
 459            if (isVisible)
 360                connectWalletView.Show();
 61            else
 162                connectWalletView.Hide();
 163        }
 64    }
 65}