public async Task CheckDatePublishedOnAlgoVisibilityChange()
        {
            // Create an algo
            AlgoDataDTO algoData = await CreateAlgo();

            // Get the test algo
            AlgoEntity algo = await AlgoRepository.TryGetAsync(algoData.ClientId, algoData.Id) as AlgoEntity;

            Assert.That(algoData.AlgoVisibility, Is.EqualTo(AlgoVisibility.Private));
            Assert.That(algoData.DatePublished, Is.Null);

            // Build the body for the request
            var model = new AddToPublicDTO
            {
                ClientId = algo.ClientId,
                AlgoId   = algo.AlgoId
            };

            // Change algo's visibility to 'public'
            var changeAlgoVisibility = await Consumer.ExecuteRequest(ApiPaths.ALGO_STORE_ADD_TO_PUBLIC, Helpers.EmptyDictionary, JsonUtils.SerializeObject(model), Method.POST);

            Assert.That(changeAlgoVisibility.Status, Is.EqualTo(HttpStatusCode.OK));

            // Get the test algo
            algo = await AlgoRepository.TryGetAsync(algoData.ClientId, algoData.Id) as AlgoEntity;

            // Check if the algo's visibility is successfully changed and DataPublished is available
            Assert.That(algo.AlgoVisibility, Is.EqualTo(AlgoVisibility.Public));
            Assert.That(algo.DatePublished.Value, Is.EqualTo(DateTime.UtcNow).Within(3).Minutes);

            // Change the current algo's visibility to be 'private'
            changeAlgoVisibility = await Consumer.ExecuteRequest(ApiPaths.ALGO_STORE_REMOVE_FROM_PUBLIC, Helpers.EmptyDictionary, JsonUtils.SerializeObject(model), Method.POST);

            Assert.That(changeAlgoVisibility.Status, Is.EqualTo(HttpStatusCode.OK));

            // Get the test algo with the changes
            algo = await AlgoRepository.TryGetAsync(algoData.ClientId, algoData.Id) as AlgoEntity;

            //Check if the algo's visibility is 'private' and DatePublished is NULL
            Assert.That(algo.AlgoVisibility, Is.EqualTo(AlgoVisibility.Private));
            Assert.That(algo.DatePublished, Is.Null);
        }
        public async Task <bool> AlgoExists(AlgoDataDTO algoDataDTO)
        {
            List <AlgoEntity> allUserAlgos = await AlgoRepository.GetAllAsync(t => t.ClientId == algoDataDTO.ClientId) as List <AlgoEntity>;

            return(allUserAlgos.Exists(x => x.AlgoId == algoDataDTO.Id));
        }