Example #1
0
        /// <summary>
        /// Gets all rows from the Parse "books" class/table
        /// </summary>
        public List <BookModel> GetBooks(out bool didExitPrematurely, string whereCondition = "", IEnumerable <string> fieldsToDereference = null)
        {
            var request = new RestRequest("classes/books", Method.GET);

            SetCommonHeaders(request);
            string keysToRetrieve = String.Join(",", BookModel.GetParseKeys());

            request.AddParameter("keys", keysToRetrieve);

            if (!String.IsNullOrEmpty(whereCondition))
            {
                request.AddParameter("where", whereCondition);
            }

            // Instead of representing as object pointers (and requiring us to perform a 2nd query to get the object), Parse will dereference the pointer for us automatically
            if (fieldsToDereference != null)
            {
                foreach (var field in fieldsToDereference)
                {
                    request.AddParameter("include", field);
                }
            }

            List <BookModel> results = GetAllResults <BookModel>(request, out didExitPrematurely);

            results.ForEach(book => book.MarkAsDatabaseVersion());

            Console.Out.WriteLine($"{results.Count} matching results.");
            return(results);
        }
        public void BookModel_GetParseKeys_ContainsImportantKeys()
        {
            var parseKeys = BookModel.GetParseKeys();

            Assert.That(parseKeys.Count, Is.GreaterThanOrEqualTo(1));

            var parseKeySet = new HashSet <string>(parseKeys);

            Assert.That(parseKeySet.Contains("objectId"), "objectId: Parent class keys should also be returned");

            Assert.That(parseKeySet.Contains("harvestState"), "harvestState");
            Assert.That(parseKeySet.Contains("harvesterMajorVersion"), "harvesterMajorVersion");
            Assert.That(parseKeySet.Contains("harvesterMinorVersion"), "harvesterMinorVersion");
            Assert.That(parseKeySet.Contains("harvestLog"), "harvestLog");
            Assert.That(parseKeySet.Contains("harvestStartedAt"), "harvestStartedAt");

            Assert.That(parseKeySet.Contains("baseUrl"), "baseUrl");
            Assert.That(parseKeySet.Contains("inCirculation"), "inCirculation");
            Assert.That(parseKeySet.Contains("lastUploaded"), "lastUploaded");
            Assert.That(parseKeySet.Contains("phashOfFirstContentImage"), "pHash");
            Assert.That(parseKeySet.Contains("show"), "show");
            Assert.That(parseKeySet.Contains("tags"), "tags");
            Assert.That(parseKeySet.Contains("title"), "title");

            // ENHANCE: Add as many of the other keys as you want to verify.
        }