Ejemplo n.º 1
0
        public async Task <EpicStats> GetEpicStats(string epicKey)
        {
            var result = await _client.QueryJql($"\"Epic Link\"={epicKey}");

            var statuses = result
                           .Select(t => t.GetProperty("fields").GetProperty("status").GetProperty("statusCategory").GetProperty("name").GetString())
                           .GroupBy(x => x);

            var stats = new EpicStats();

            foreach (var grp in statuses)
            {
                if (grp.Key.Equals("done", StringComparison.OrdinalIgnoreCase))
                {
                    stats.Done += grp.Count();
                }
                else if (grp.Key.Equals("in progress", StringComparison.OrdinalIgnoreCase))
                {
                    stats.InProgress += grp.Count();
                }
                else
                {
                    stats.NotStarted += grp.Count();
                }
            }

            return(stats);
        }
 public void Given_epic_has_stats(EpicStats stats)
 {
     Meta.Stats = stats;
 }
Ejemplo n.º 3
0
 public Expectation(EpicStats input, string content)
 {
     Input   = input;
     Content = content;
 }