예제 #1
0
        public void TestAddListItem()
        {
            LAList testList = new LAList()
            {
                Name = "List to Remove"
            };

            ListQueries.AddList(testList);

            Assert.IsNotNull(ListQueries.GetList(testList.ID));
            Assert.AreEqual(0, ListQueries.GetList(testList.ID).LAListItems.Count);

            var newItem = new LAListItem()
            {
                Description = "Test Item",
                Done        = true,
                ListID      = testList.ID
            };

            var result    = ListQueries.AddItemToList(newItem);
            var foundList = ListQueries.GetList(testList.ID);

            Assert.AreEqual(true, result);
            Assert.IsNotNull(foundList);
            Assert.AreEqual(1, foundList.LAListItems.Count);

            ListQueries.RemoveList(foundList.ID);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
예제 #2
0
        public ActionResult AddListItem([Bind(Include = "ListID,Description")] LAListItem lAListItem)
        {
            HttpResponseMessage responseMsg = null;
            JObject             jsonObj     = null;
            LAList            lAList        = null;
            List <LAListItem> listItems     = null;

            responseMsg = this.newClient.PostAsync("api/ListItems", new ObjectContent <LAListItem>(lAListItem, new System.Net.Http.Formatting.JsonMediaTypeFormatter())).Result;
            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                responseMsg = this.newClient.GetAsync(string.Format("api/Lists/{0}", lAListItem.ListID)).Result;
                if (responseMsg.StatusCode == HttpStatusCode.OK)
                {
                    jsonObj   = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                    lAList    = jsonObj.ToObject <LAList>();
                    listItems = jsonObj["ShoppingListItems"].ToObject <List <LAListItem> >();

                    foreach (LAListItem item in listItems)
                    {
                        lAList.LAListItems.Add(item);
                    }
                    return(RedirectToAction("Edit", lAList));
                }
            }

            return(View("AddListItem", lAListItem));
        }
예제 #3
0
        public static bool AddItemToList(LAListItem item)
        {
            var success = false;

            if (item != null)
            {
                var list = db.LALists.Find(item.ListID);

                if (list != null)
                {
                    var duplicate = db.LAListItems.Where(e => (e.ListID == item.ListID) && (e.Description.Equals(item.Description))).FirstOrDefault();

                    if (duplicate == null)
                    {
                        db.LAListItems.Add(item);
                        db.SaveChanges();

                        success = true;
                    }
                    //else if (duplicate.Done)
                    //{
                    //    duplicate.Done = false;
                    //    db.Entry(duplicate).State = EntityState.Modified;
                    //}
                }
            }

            return(success);
        }
예제 #4
0
        public void TestEditListItem()
        {
            LAList testList = new LAList {
                Name = "Test List 3"
            };

            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem {
                Description = "Test Item 3", Done = false
            };

            Assert.IsNotNull(testListItem);

            Assert.AreEqual <int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual <int>(1, testList.LAListItems.Count);

            LAListItem updateListItem = testList.LAListItems.Find(x => x.ID == 0);

            Assert.IsNotNull(updateListItem);
            updateListItem.Done = true;
            updateListItem      = null;

            LAListItem foundListItem = testList.LAListItems.Find(x => x.ID == 0);

            Assert.IsNotNull(foundListItem);
            Assert.IsTrue(foundListItem.Done);
            foundListItem = null;

            testList     = null;
            testListItem = null;
        }
예제 #5
0
        public ActionResult RemoveListItem(int listID, int itemID)
        {
            HttpResponseMessage responseMsg = null;
            JObject             jsonObj     = null;
            LAListItem          lAListItem  = null;
            LAList            lAList        = null;
            List <LAListItem> listItems     = null;

            responseMsg = this.newClient.GetAsync(string.Format("api/ListItems/list/{0}/item/{1}", listID, itemID)).Result;

            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                jsonObj    = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                lAListItem = jsonObj.ToObject <LAListItem>();

                responseMsg = this.newClient.DeleteAsync(string.Format("api/ListItems/list/{0}/item/{1}", listID, itemID)).Result;
                if (responseMsg.StatusCode == HttpStatusCode.OK)
                {
                    responseMsg = this.newClient.GetAsync(string.Format("api/Lists/{0}", listID)).Result;
                    if (responseMsg.StatusCode == HttpStatusCode.OK)
                    {
                        jsonObj   = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                        lAList    = jsonObj.ToObject <LAList>();
                        listItems = jsonObj["ShoppingListItems"].ToObject <List <LAListItem> >();

                        foreach (LAListItem item in listItems)
                        {
                            lAList.LAListItems.Add(item);
                        }
                        return(RedirectToAction("Edit", lAList));
                    }
                }
            }
            return(View("RemoveListItem", lAListItem));
        }
예제 #6
0
        public ActionResult RemoveListItem(int?listID, int?itemID)
        {
            HttpResponseMessage responseMsg = null;
            JObject             jsonObj     = null;
            LAListItem          lAListItem  = null;

            if (listID == null || itemID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            responseMsg = this.newClient.GetAsync(string.Format("api/ListItems/list/{0}/item/{1}", listID, itemID)).Result;
            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                jsonObj    = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                lAListItem = jsonObj.ToObject <LAListItem>();

                if (lAListItem == null)
                {
                    return(HttpNotFound());
                }
            }

            return(View("RemoveListItem", lAListItem));
        }
예제 #7
0
        public void TestAddItemToNoList()
        {
            var newItem = new LAListItem()
            {
                Description = "Test Insert 0", Done = false
            };
            var result = ListQueries.AddItemToList(newItem);

            Assert.AreEqual(false, result);
        }
예제 #8
0
        public void TestAddDuplicateItem()
        {
            var newItem = new LAListItem()
            {
                Description = "Milk",
                ListID      = 1
            };

            var result = ListQueries.AddItemToList(newItem);

            Assert.AreEqual(false, result);
            Assert.AreEqual(4, ListQueries.GetList(1).LAListItems.Count);
        }
예제 #9
0
        public ActionResult AddListItem(int?id)
        {
            LAListItem lAListItem = null;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            lAListItem = new LAListItem()
            {
                ListID = (int)id
            };

            return(View("AddListItem", lAListItem));
        }
예제 #10
0
        // GET: LALists/Details/5
        public ActionResult Details(int?id)
        {
            HttpResponseMessage responseMsg = null;
            JObject             jsonObj     = null;
            // JObject jsonItemObj = null;
            LAList              lAList          = null;
            List <LAListItem>   listItems       = null;
            List <LASuggestion> listSuggestions = null;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            responseMsg = this.newClient.GetAsync("api/Lists/" + id).Result;

            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                jsonObj = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                lAList  = jsonObj.ToObject <LAList>();

                if (lAList == null)
                {
                    return(HttpNotFound());
                }

                foreach (JObject jsonItemObj in jsonObj["ShoppingListItems"])
                {
                    var item = new LAListItem();
                    item.ID          = (int)jsonItemObj["Id"];
                    item.ListID      = (int)jsonItemObj["ListId"];
                    item.Done        = (bool)jsonItemObj["Checked"];
                    item.Description = (string)jsonItemObj["Description"];
                    lAList.LAListItems.Add(item);
                }

                listSuggestions = jsonObj["ShoppingListSuggestions"].ToObject <List <LASuggestion> >();
                foreach (LASuggestion item in listSuggestions)
                {
                    lAList.LASuggestions.Add(item);
                }

                return(View("Details", lAList));
            }
            return(View(lAList));
        }
예제 #11
0
        public void TestBlankLAList()
        {
            LAList testList3 = new LAList()
            {
                ID = 50, Name = "Blank List"
            };
            LAListItem testInsertItem = new LAListItem()
            {
                ID = 10, Description = "Test Insert", Done = false
            };

            Assert.IsNotNull(testInsertItem, "Test insert item is null.");

            testList3.LAListItems.Add(testInsertItem);
            Assert.AreEqual <int>(1, testList3.LAListItems.Count, "List item not added.");
            testList3.LAListItems.Remove(testInsertItem);
            Assert.AreEqual <int>(0, testList3.LAListItems.Count, "List item not removed.");
        }
예제 #12
0
        public void TestLAListItem()
        {
            LAListItem testListItem = new LAListItem()
            {
                Description = "Test List Item", Done = true
            };

            int id = testListItem.ID;

            Assert.IsNotNull(id);

            string description = testListItem.Description;

            Assert.IsNotNull(description);
            Assert.AreEqual <string>("Test List Item", description);

            Boolean done = testListItem.Done;

            Assert.IsTrue(done);
        }
예제 #13
0
        public void TestAddListItem()
        {
            LAList testList = new LAList {
                Name = "Test List 1"
            };

            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem {
                Description = "Test Item 1", Done = true
            };

            Assert.IsNotNull(testListItem);

            Assert.AreEqual <int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual <int>(1, testList.LAListItems.Count);

            testList     = null;
            testListItem = null;
        }
예제 #14
0
        public void TestRemoveListItem()
        {
            LAList testList = new LAList {
                Name = "Test List 2"
            };

            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem {
                Description = "Test Item 2", Done = false
            };

            Assert.IsNotNull(testListItem);

            Assert.AreEqual <int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual <int>(1, testList.LAListItems.Count);

            testList.LAListItems.Remove(testListItem);
            Assert.AreEqual <int>(0, testList.LAListItems.Count);

            testList     = null;
            testListItem = null;
        }
예제 #15
0
            public void TestInitialize()
            {
                Database.SetInitializer(new DbInitializer());
                this.db = new ListAssistContext(new DbConStringBuilder("WebAPITests").getConnectionString());
                db.Database.Initialize(true);
                Assert.IsNotNull(this.db, "List assist context is null.");

                AutoMapperConfiguration.Configure();

                listQueries = new ListQueries(new DbConStringBuilder("WebAPITests").getConnectionString());

                LAList testList1 = new LAList()
                {
                    Name = "Test List 1"
                };
                LAList testList2 = new LAList()
                {
                    Name = "Test List 2"
                };

                LAListItem testInsertItem1 = new LAListItem()
                {
                    Description = "Test Insert 1", Done = false
                };
                LAListItem testInsertItem2 = new LAListItem()
                {
                    Description = "Test Insert 2", Done = false
                };
                LAListItem testInsertItem3 = new LAListItem()
                {
                    Description = "Test Insert 3", Done = false
                };

                Assert.IsNotNull(testList1, "Test list 1 is null.");
                Assert.IsNotNull(testList2, "Test list 2 is null.");

                Assert.IsNotNull(testInsertItem1, "Test insert item 1 is null.");
                testList1.LAListItems.Add(testInsertItem1);

                Assert.IsNotNull(testInsertItem2, "Test insert item 2 is null.");
                testList1.LAListItems.Add(testInsertItem2);

                Assert.IsNotNull(testInsertItem3, "Test insert item 3 is null,");
                testList2.LAListItems.Add(testInsertItem3);

                var lists = new List <LAList>
                {
                    testList1,
                    testList2,
                };


                foreach (LAList newList in lists)
                {
                    this.db.LALists.Add(newList);

                    foreach (LAListItem newListItem in newList.LAListItems)
                    {
                        this.db.LAListItems.Add(newListItem);
                    }
                }

                this.db.SaveChanges();

                Assert.IsNotNull(this.db.LALists.Where(e => e.Name.Equals("Test List 1")).FirstOrDefault(), "Test List 1 not found.");
                Assert.IsNotNull(this.db.LALists.Where(e => e.Name.Equals("Test List 2")).FirstOrDefault(), "Test List 2 not found.");
                Assert.IsNull(this.db.LALists.Where(e => e.Name.Equals("Test List 3")).FirstOrDefault(), "Test List 3 found.");
            }