Esempio n. 1
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;
        }
Esempio n. 2
0
        public static bool UpdateList(LAList list)
        {
            bool success = false;
            var  dbList  = db.LALists.Find(list.ID);

            if (list != null)
            {
                if (list.Name != null && list.LAListItems != null)
                {
                    if (list.LAListItems.Contains(null))
                    {
                        list.LAListItems.Remove(null);
                    }
                    db.Entry(dbList).CurrentValues.SetValues(list);
                    db.Entry(dbList).State = EntityState.Modified;

                    foreach (var listItem in list.LAListItems)
                    {
                        if (listItem != null)
                        {
                            var dbListItem = db.LAListItems.Find(listItem.ID);
                            db.Entry(dbListItem).CurrentValues.SetValues(listItem);
                            db.Entry(dbListItem).State = EntityState.Modified;
                        }
                    }

                    db.SaveChanges();

                    success = true;
                }
            }

            return(success);
        }
Esempio n. 3
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));
        }
Esempio n. 4
0
        public void TestAddListWithItems()
        {
            var newList = new LAList()
            {
                Name = "List with items"
            };

            newList.LAListItems.Add(new LAListItem()
            {
                Description = "Test Item 1", Done = true
            });
            newList.LAListItems.Add(new LAListItem()
            {
                Description = "Test Item 2", Done = false
            });

            var result = ListQueries.AddList(newList);

            Assert.AreEqual(true, result);
            Assert.AreEqual(3, ListQueries.GetLists().Count);

            Assert.IsNotNull(newList);
            Assert.AreEqual(2, newList.LAListItems.Count);

            ListQueries.RemoveList(newList.ID);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
Esempio n. 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));
        }
Esempio n. 6
0
        // GET: LALists
        public ActionResult Index()
        {
            HttpResponseMessage responseMsg = null;
            JArray            jsonArray     = null;
            List <LAList>     lAList        = null;
            LAList            newList       = null;
            List <LAListItem> listItems     = null;

            responseMsg = this.newClient.GetAsync("api/Lists/").Result;
            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                jsonArray = JArray.Parse(responseMsg.Content.ReadAsStringAsync().Result);

                lAList = new List <LAList>();

                foreach (var jsonItem in jsonArray)
                {
                    newList   = jsonItem.ToObject <LAList>();
                    listItems = jsonItem["ShoppingListItems"].ToObject <List <LAListItem> >();

                    foreach (var item in listItems)
                    {
                        newList.LAListItems.Add(item);
                    }

                    lAList.Add(newList);
                }
                return(View(lAList));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
Esempio n. 7
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);
        }
Esempio n. 8
0
        // GET: LALists/Delete/5
        public ActionResult Delete(int?id)
        {
            HttpResponseMessage responseMsg = null;
            LAList lAList = null;

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

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

            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                lAList = responseMsg.Content.ReadAsAsync <LAList>().Result;

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

                return(View("Delete", lAList));
            }

            return(View(lAList));
        }
Esempio n. 9
0
        public void AddListWithNullName()
        {
            var newList = new LAList();
            var result  = ListQueries.AddList(newList);

            Assert.AreEqual(false, result);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
        public void TestCreate()
        {
            LAList testList = new LAList()
            {
                ID = 80, Name = "Test List 5"
            };
            LAListsController testController = new LAListsController();
            var result = testController.Create() as ViewResult;

            Assert.AreEqual("Create", result.ViewName);
        }
Esempio n. 11
0
        public ActionResult Edit(LAList lAList)
        {
            HttpResponseMessage responseMsg = null;

            responseMsg = this.newClient.PutAsync("api/Lists", new ObjectContent <LAList>(lAList, new System.Net.Http.Formatting.JsonMediaTypeFormatter())).Result;
            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                return(RedirectToAction("Index"));
            }
            return(View("Edit", lAList));
        }
Esempio n. 12
0
        public void AddDuplicateList()
        {
            var newList = new LAList()
            {
                Name = "Groceries"
            };
            var result = ListQueries.AddList(newList);

            Assert.AreEqual(false, result);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
Esempio n. 13
0
        public void TestRemoveItemBadId()
        {
            LAList testList  = ListQueries.GetList(1);
            var    itemCount = testList.LAListItems.Count;

            var result = ListQueries.DeleteItemFromList(-99);

            testList = ListQueries.GetList(1);
            Assert.AreEqual(-1, result);
            Assert.AreEqual(itemCount, testList.LAListItems.Count);
        }
Esempio n. 14
0
        public void TestLAList()
        {
            LAList testList = new LAList()
            {
                Name = "Test List"
            };

            int id = testList.ID;

            Assert.IsNotNull(id);

            string name = testList.Name;

            Assert.IsNotNull(name);
            Assert.AreEqual <string>("Test List", name);
        }
Esempio n. 15
0
        public void TestUpdateListNameNull()
        {
            LAList testList = ListQueries.GetList(1);

            Assert.IsNotNull(testList);

            testList.Name = null;

            var result = ListQueries.UpdateList(testList);

            testList      = ListQueries.GetList(1);
            testList.Name = "Groceries";
            Assert.AreEqual(false, result);
            Assert.IsNotNull(testList);
            Assert.AreEqual("Groceries", testList.Name);
        }
Esempio n. 16
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));
        }
Esempio n. 17
0
        public void TestUpdateListAddNullItems()
        {
            LAList testList = ListQueries.GetList(1);

            Assert.IsNotNull(testList);

            testList.LAListItems.Add(null);

            var result = ListQueries.UpdateList(testList);

            testList = null;
            testList = ListQueries.GetList(1);

            Assert.AreEqual(true, result);
            Assert.IsNotNull(testList);
            Assert.AreEqual("Groceries", testList.Name);
            Assert.AreEqual(4, testList.LAListItems.Count);
        }
Esempio n. 18
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.");
        }
Esempio n. 19
0
        public void TestRemoveList()
        {
            LAList testList = new LAList()
            {
                Name = "List to Remove"
            };

            ListQueries.AddList(testList);

            var findList = ListQueries.GetList(testList.ID);

            Assert.IsNotNull(findList, "Test List not found.");
            Assert.AreEqual <string>("List to Remove", findList.Name);

            var result = ListQueries.RemoveList(findList.ID);

            Assert.AreEqual(true, result);
            Assert.IsNull(ListQueries.GetList(3), "List 3 not removed.");
        }
Esempio n. 20
0
        public static bool AddList(LAList list)
        {
            bool success = false;

            if (list.Name != null)
            {
                var duplicate = db.LALists.Where(e => e.Name.Equals(list.Name)).FirstOrDefault();

                if (duplicate == null)
                {
                    db.LALists.Add(list);
                    db.SaveChanges();

                    success = true;
                }
            }

            return(success);
        }
Esempio n. 21
0
        public ActionResult Create([Bind(Include = "Name")] LAList AList)
        {
            if (ModelState.IsValid)
            {
                HttpResponseMessage responseMsg = this.newClient.PostAsync(string.Format("api/Lists/{0}", AList.Name), new StringContent(AList.Name)).Result;

                if (responseMsg.StatusCode == HttpStatusCode.OK)
                {
                    LAList newList = new LAList();
                    newList.Name = AList.Name;
                    newList.ID   = responseMsg.Content.ReadAsAsync <int>().Result;

                    return(RedirectToAction("Edit", newList));
                }

                return(View("Create", AList));
            }

            return(View("Create", AList));
        }
Esempio n. 22
0
        public ActionResult AcceptSuggestion(int suggestionId)
        {
            HttpResponseMessage responseMsg     = null;
            JObject             jsonObj         = null;
            LAList              lAList          = null;
            List <LAListItem>   listItems       = null;
            List <LASuggestion> listSuggestions = null;
            HttpContent         content         = null;

            responseMsg = this.newClient.PostAsync("api/AcceptSuggestion/" + suggestionId, content).Result;
            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                jsonObj         = JObject.Parse(responseMsg.Content.ReadAsStringAsync().Result);
                lAList          = jsonObj.ToObject <LAList>();
                listItems       = jsonObj["ShoppingListItems"].ToObject <List <LAListItem> >();
                listSuggestions = jsonObj["ShoppingListSuggestions"].ToObject <List <LASuggestion> >();
            }

            return(Json(new { url = Request.UrlReferrer.AbsoluteUri }));
        }
Esempio n. 23
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;
        }
Esempio n. 24
0
        public int AddList(string listName)
        {
            int id = 0;

            if (listName != null)
            {
                var duplicate = db.LALists.Where(e => e.Name.Equals(listName)).FirstOrDefault();

                if (duplicate == null)
                {
                    var ShoppingList = new LAList();
                    ShoppingList.Name = listName;

                    db.LALists.Add(ShoppingList);
                    db.SaveChanges();

                    id = ShoppingList.ID;
                }
            }

            return(id);
        }
Esempio n. 25
0
        public ShoppingList AcceptSuggestion(int suggestionId)
        {
            LASuggestion suggestion = null;
            LAList       list       = null;
            var          success    = false;

            suggestion = db.LASuggestions.Where(s => s.ID == suggestionId).FirstOrDefault();

            if (suggestion != null)
            {
                list = db.LALists.Where(l => l.ID == suggestion.ListID).FirstOrDefault();
                if (list != null)
                {
                    // Create a new list item from the suggestion
                    list.LAListItems.Add(new LAListItem()
                    {
                        ListID      = suggestion.ListID,
                        Description = suggestion.Description
                    });

                    // Delete the suggestion
                    db.Entry(suggestion).State = EntityState.Deleted;
                    list.LASuggestions.Remove(suggestion);
                    db.SaveChanges();
                }
            }

            if (list != null)
            {
                var entityList   = db.LALists.Where(l => l.ID == list.ID);
                var shoppingList = entityList.ProjectTo <ShoppingList>().FirstOrDefault();
                return(shoppingList);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 26
0
        public void TestRemoveListItem()
        {
            LAList testList = ListQueries.GetList(1);

            Assert.IsNotNull(testList);

            Assert.IsTrue(ListQueries.AddItemToList(new LAListItem()
            {
                Description = "Bread", ListID = 1
            }));

            testList = ListQueries.GetList(1);
            Assert.IsNotNull(testList);
            Assert.AreEqual(5, testList.LAListItems.Count);

            var result = ListQueries.DeleteItemFromList(testList.LAListItems[4].ID);

            testList = ListQueries.GetList(1);
            Assert.IsNotNull(testList);

            Assert.AreEqual(1, result);
            Assert.AreEqual(4, testList.LAListItems.Count);
        }
Esempio n. 27
0
        public void TestUpdateListName()
        {
            LAList testList = ListQueries.GetList(1);

            Assert.IsNotNull(testList);

            testList.Name = "Updated Name";

            var result = ListQueries.UpdateList(testList);

            testList = ListQueries.GetList(1);

            Assert.AreEqual(true, result);
            Assert.AreEqual("Updated Name", testList.Name);
            Assert.AreEqual(4, testList.LAListItems.Count);

            testList.Name = "Groceries";
            var restoreName = ListQueries.UpdateList(testList);

            testList = ListQueries.GetList(1);

            Assert.AreEqual(true, restoreName);
            Assert.AreEqual("Groceries", testList.Name);
        }
Esempio n. 28
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;
        }
Esempio n. 29
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.");
            }
Esempio n. 30
0
        // GET: LALists/Create
        public ActionResult Create()
        {
            LAList aList = new LAList();

            return(View(aList));
        }