< Summary

Class:PlacesCardsConfigurator
Assembly:ExploreV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/Sections/PlacesAndEventsSection/PlacesCardsConfigurator.cs
Covered lines:22
Uncovered lines:0
Coverable lines:22
Total lines:57
Line coverage:100% (22 of 22)
Covered branches:0
Total branches:0
Covered methods:4
Total methods:4
Method coverage:100% (4 of 4)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Configure(...)0%110100%
ConfigureFromAPIData(...)0%110100%
FormatDescription(...)0%220100%
FormatAuthorName(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/Sections/PlacesAndEventsSection/PlacesCardsConfigurator.cs

#LineLine coverage
 1using System;
 2using System.Linq;
 3using MainScripts.DCL.Controllers.HotScenes;
 4using static MainScripts.DCL.Controllers.HotScenes.IHotScenesController;
 5using Environment = DCL.Environment;
 6
 7/// <summary>
 8/// Utils related to the places management in ExploreV2.
 9/// </summary>
 10public static class PlacesCardsConfigurator
 11{
 12    private const string NO_PLACE_DESCRIPTION_WRITTEN = "The author hasn't written a description yet.";
 13
 14    /// <summary>
 15    /// Configure a place card with the given model.
 16    /// </summary>
 17    /// <param name="placeCard">Place card to configure.</param>
 18    /// <param name="placeInfo">Model to apply.</param>
 19    /// <param name="OnPlaceInfoClicked">Action to inform when the Info button has been clicked.</param>
 20    /// <param name="OnPlaceJumpInClicked">Action to inform when the JumpIn button has been clicked.</param>
 21    public static PlaceCardComponentView Configure(PlaceCardComponentView placeCard, PlaceCardComponentModel placeInfo, 
 22    {
 5023        placeCard.Configure(placeInfo);
 24
 5025        placeCard.onInfoClick.RemoveAllListeners();
 5026        placeCard.onInfoClick.AddListener(() => OnPlaceInfoClicked?.Invoke(placeInfo));
 5027        placeCard.onBackgroundClick.RemoveAllListeners();
 5028        placeCard.onBackgroundClick.AddListener(() => OnPlaceInfoClicked?.Invoke(placeInfo));
 5029        placeCard.onJumpInClick.RemoveAllListeners();
 5030        placeCard.onJumpInClick.AddListener(() => OnPlaceJumpInClicked?.Invoke(placeInfo.placeInfo));
 5031        placeCard.OnVoteChanged -= OnVoteChanged;
 5032        placeCard.OnVoteChanged += OnVoteChanged;
 5033        placeCard.OnFavoriteChanged -= OnFavoriteChanged;
 5034        placeCard.OnFavoriteChanged += OnFavoriteChanged;
 35
 5036        return placeCard;
 37    }
 38
 39    public static PlaceCardComponentModel ConfigureFromAPIData(PlaceCardComponentModel cardModel, HotSceneInfo placeFrom
 40    {
 141        cardModel.placePictureUri = placeFromAPI.thumbnail;
 142        cardModel.placeName = placeFromAPI.name;
 143        cardModel.placeDescription = FormatDescription(placeFromAPI);
 144        cardModel.placeAuthor = FormatAuthorName(placeFromAPI);
 145        cardModel.numberOfUsers = placeFromAPI.usersTotalCount;
 146        cardModel.parcels = placeFromAPI.parcels;
 147        cardModel.coords = placeFromAPI.baseCoords;
 48
 149        return cardModel;
 50    }
 51
 52    internal static string FormatDescription(HotSceneInfo placeFromAPI) =>
 253        string.IsNullOrEmpty(placeFromAPI.description) ? NO_PLACE_DESCRIPTION_WRITTEN : placeFromAPI.description;
 54
 55    internal static string FormatAuthorName(HotSceneInfo placeFromAPI) =>
 256        $"Author <b>{placeFromAPI.creator}</b>";
 57}