< Summary

Class:DCLServices.PlacesAPIService.PlacesAnalytics
Assembly:PlacesAPIService
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/PlacesAPIService/PlacesAnalytics.cs
Covered lines:0
Uncovered lines:24
Coverable lines:24
Total lines:125
Line coverage:0% (0 of 24)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:8
Method coverage:0% (0 of 8)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
AddFavorite(...)0%2100%
RemoveFavorite(...)0%2100%
Like(...)0%2100%
Dislike(...)0%2100%
RemoveVote(...)0%2100%
Filter(...)0%2100%
Sort(...)0%2100%
SortWorlds(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/PlacesAPIService/PlacesAnalytics.cs

#LineLine coverage
 1using System.Collections.Generic;
 2
 3namespace DCLServices.PlacesAPIService
 4{
 5    public interface IPlacesAnalytics
 6    {
 7        public enum ActionSource
 8        {
 9            FromExplore,
 10            FromSearch,
 11            FromMinimap,
 12            FromNavmap,
 13            FromFavorites,
 14        }
 15
 16        public enum SortingType
 17        {
 18            MostActive,
 19            Best
 20        }
 21
 22        void AddFavorite(string placeUUID, ActionSource source, bool isWorld = false);
 23        void RemoveFavorite(string placeUUID, ActionSource source, bool isWorld = false);
 24        void Like(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false);
 25        void Dislike(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false);
 26        void RemoveVote(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false);
 27        void Filter(string filterType);
 28        void Sort(IPlacesAnalytics.SortingType sortingType);
 29        void SortWorlds(IPlacesAnalytics.SortingType sortingType);
 30    }
 31
 32    public class PlacesAnalytics : IPlacesAnalytics
 33    {
 34        private const string ADD_FAVORITE_PLACE = "player_add_favorite_place";
 35        private const string REMOVE_FAVORITE_PLACE = "player_remove_favorite_place";
 36        private const string LIKE_PLACE = "player_like_place";
 37        private const string DISLIKE_PLACE = "player_dislike_place";
 38        private const string REMOVE_VOTE_PLACE = "player_remove_vote_place";
 39        private const string FILTER_PLACES = "player_filter_places";
 40        private const string SORT_PLACES = "player_sort_places";
 41        private const string SORT_WORLDS = "player_sort_worlds";
 42
 43        public void AddFavorite(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false)
 44        {
 045            var data = new Dictionary<string, string>
 46            {
 47                ["place_id"] = placeUUID,
 48                ["source"] = source.ToString(),
 49                ["is_world"] = isWorld.ToString()
 50            };
 051            GenericAnalytics.SendAnalytic(ADD_FAVORITE_PLACE, data);
 052        }
 53
 54        public void RemoveFavorite(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false)
 55        {
 056            var data = new Dictionary<string, string>
 57            {
 58                ["place_id"] = placeUUID,
 59                ["source"] = source.ToString(),
 60                ["is_world"] = isWorld.ToString()
 61            };
 062            GenericAnalytics.SendAnalytic(REMOVE_FAVORITE_PLACE, data);
 063        }
 64
 65        public void Like(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false)
 66        {
 067            var data = new Dictionary<string, string>
 68            {
 69                ["place_id"] = placeUUID,
 70                ["source"] = source.ToString(),
 71                ["is_world"] = isWorld.ToString()
 72            };
 073            GenericAnalytics.SendAnalytic(LIKE_PLACE, data);
 074        }
 75
 76        public void Dislike(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false)
 77        {
 078            var data = new Dictionary<string, string>
 79            {
 80                ["place_id"] = placeUUID,
 81                ["source"] = source.ToString(),
 82                ["is_world"] = isWorld.ToString()
 83            };
 084            GenericAnalytics.SendAnalytic(DISLIKE_PLACE, data);
 085        }
 86
 87        public void RemoveVote(string placeUUID, IPlacesAnalytics.ActionSource source, bool isWorld = false)
 88        {
 089            var data = new Dictionary<string, string>
 90            {
 91                ["place_id"] = placeUUID,
 92                ["source"] = source.ToString(),
 93                ["is_world"] = isWorld.ToString()
 94            };
 095            GenericAnalytics.SendAnalytic(REMOVE_VOTE_PLACE, data);
 096        }
 97
 98        public void Filter(string filterType)
 99        {
 0100            var data = new Dictionary<string, string>
 101            {
 102                ["type"] = filterType
 103            };
 0104            GenericAnalytics.SendAnalytic(FILTER_PLACES, data);
 0105        }
 106
 107        public void Sort(IPlacesAnalytics.SortingType sortingType)
 108        {
 0109            var data = new Dictionary<string, string>
 110            {
 111                ["type"] = sortingType.ToString()
 112            };
 0113            GenericAnalytics.SendAnalytic(SORT_PLACES, data);
 0114        }
 115
 116        public void SortWorlds(IPlacesAnalytics.SortingType sortingType)
 117        {
 0118            var data = new Dictionary<string, string>
 119            {
 120                ["type"] = sortingType.ToString()
 121            };
 0122            GenericAnalytics.SendAnalytic(SORT_WORLDS, data);
 0123        }
 124    }
 125}