public async Task GetAllCompetitions()
        {
            try
            {
                Console.WriteLine("     ----- Begin Fetch competitions ----- ");
                foreach (var availableCompetition in Competition.AvailableCompetitions)
                {
                    var response = await _http.GetAsync("competitions/" + availableCompetition);

                    var responseContent = await response.Content.ReadAsStringAsync();

                    var competition =
                        JsonConvert.DeserializeObject <Competition>(responseContent);

                    var findCompetition = _competitionDao.FindCompetition(competition.Id).Result;
                    if (findCompetition == null)
                    {
                        Console.WriteLine("Add competition " + competition.Id + " " + competition.Name);
                        _competitionDao.AddCompetition(competition);
                    }
                    else
                    {
                        Console.WriteLine("Replace competition " + competition.Id + " " + competition.Name);
                        _competitionDao.ReplaceCompetition(findCompetition.Id, competition);
                    }

                    Thread.Sleep(10000);
                }

                Console.WriteLine("     ----- End Fetch competitions ----- ");
            }
            catch (Exception e)
            {
                SingletonManager.Instance.EmailManager.SendWebMasterEmail(e);
                throw;
            }
        }
 public void AssertThatAddCompetitionIsCalled()
 {
     _competitionDao.AddCompetition(_competition);
     _collection.Received().InsertOneAsync(Arg.Any <Competition>());
 }