< Summary

Class:FriendEntry
Assembly:FriendsHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/FriendsHUD/Scripts/Entries/FriendEntry.cs
Covered lines:14
Uncovered lines:2
Coverable lines:16
Total lines:52
Line coverage:87.5% (14 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
Initialize(...)0%110100%
Start()0%2100%
Populate(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/FriendsHUD/Scripts/Entries/FriendEntry.cs

#LineLine coverage
 1using DCL.Social.Friends;
 2using SocialFeaturesAnalytics;
 3using System;
 4using UnityEngine;
 5using UnityEngine.UI;
 6
 7public class FriendEntry : FriendEntryBase
 8{
 9    public event Action<FriendEntry> OnWhisperClick;
 10    public event Action<FriendEntry> OnJumpInClick;
 11
 12    [SerializeField] internal JumpInButton jumpInButton;
 13    [SerializeField] internal Button whisperButton;
 14    [SerializeField] internal UnreadNotificationBadge unreadNotificationBadge;
 15    [SerializeField] private Button rowButton;
 16
 17    private IChatController chatController;
 18    private IFriendsController friendsController;
 19    private ISocialAnalytics socialAnalytics;
 20
 21    public override void Awake()
 22    {
 1523        base.Awake();
 24
 1525        whisperButton.onClick.RemoveAllListeners();
 1626        whisperButton.onClick.AddListener(() => OnWhisperClick?.Invoke(this));
 1527        rowButton.onClick.RemoveAllListeners();
 1528        rowButton.onClick.AddListener(() => OnWhisperClick?.Invoke(this));
 1529    }
 30
 31    public void Initialize(IChatController chatController,
 32        IFriendsController friendsController,
 33        ISocialAnalytics socialAnalytics)
 34    {
 635        this.chatController = chatController;
 636        this.friendsController = friendsController;
 637        this.socialAnalytics = socialAnalytics;
 638    }
 39
 40    private void Start()
 41    {
 042        jumpInButton.OnClick += () => OnJumpInClick?.Invoke(this);
 043    }
 44
 45    public override void Populate(FriendEntryModel model)
 46    {
 947        base.Populate(model);
 48
 949        unreadNotificationBadge?.Initialize(chatController, model.userId);
 950        jumpInButton.Initialize(friendsController, model.userId, socialAnalytics);
 951    }
 52}