def __init__(self, email, password): self.db = MongodbController() self.user = email self.password = password self.name = email self.glistController = GroceryLists(self.user) self.plistController = PantryLists(self.user) self.currentListIndex = 0
def __init__(self,email,password): self.db = MongodbController() self.user = email self.password = password self.name = email self.glistController = GroceryLists(self.user) self.plistController = PantryLists(self.user) self.currentListIndex = 0
def __init__(self,user): # child __init__ method needs to call this parent __init__ to configure db self.db = MongodbController() self.user = user
class User(object): def __init__(self, email, password): self.db = MongodbController() self.user = email self.password = password self.name = email self.glistController = GroceryLists(self.user) self.plistController = PantryLists(self.user) self.currentListIndex = 0 def getCurrentListIndex(self): return self.currentListIndex def updateCurrentListIndex(self, newlistIndex): self.currentListIndex = newlistIndex def exist(self): if self.db.getUser(self.user) is None: return False self.name = self.db.getName(self.user) return True def login(self): return self.db.login(self.user, self.password) def getName(self): return self.name def setName(self, name): self.db.upateName(self.user, name) self.name = self.db.getName(self.user) def getPassword(self): return self.password def setPassword(self, password): self.password = password self.db.upatePassword(self.user, password) self.password = self.db.getPassword(self.user) # returns a dictionary of all the grocery lists def getGLists(self): return self.glistController.getLists() def getGListsNames(self): return self.glistController.getGroceryListNames() def getGListsItemList(self): return self.glistController.getGroceryItemsList() def updateGLists(self, glists): self.glistController.updateLists(glists) if self.getGLists() == glists: return True else: return False def deleteGLists(self): self.glistController.deleteLists() if self.getGLists() is None: return True else: return False def getCurrentGList(self): glist = self.getGLists()[self.currentListIndex]["items"] return glist def getCurrentGlistName(self): return self.getGLists()[self.currentListIndex]["gname"] def addNewGroceryList(self, gname, item): glist = self.getGLists() + [{"gname": gname, "items": [item]}] self.updateGLists(glist) def addNewCurrentListItem(self, item): glists = self.getGLists() glists[self.currentListIndex]["items"].append(item) self.updateGLists(glists)
class User(object): def __init__(self,email,password): self.db = MongodbController() self.user = email self.password = password self.name = email self.glistController = GroceryLists(self.user) self.plistController = PantryLists(self.user) self.currentListIndex = 0 def getCurrentListIndex(self): return self.currentListIndex def updateCurrentListIndex(self, newlistIndex): self.currentListIndex = newlistIndex def exist(self): if self.db.getUser(self.user) is None: return False self.name = self.db.getName(self.user) return True def login(self): return self.db.login(self.user,self.password) def getName(self): return self.name def setName(self, name): self.db.upateName(self.user, name) self.name = self.db.getName(self.user) def getPassword(self): return self.password def setPassword(self,password): self.password = password self.db.upatePassword(self.user, password) self.password = self.db.getPassword(self.user) # returns a dictionary of all the grocery lists def getGLists(self): return self.glistController.getLists() def getGListsNames(self): return self.glistController.getGroceryListNames() def getGListsItemList(self): return self.glistController.getGroceryItemsList() def updateGLists(self, glists): self.glistController.updateLists(glists) if self.getGLists() == glists: return True else: return False def deleteGLists(self): self.glistController.deleteLists() if self.getGLists() is None: return True else: return False def getCurrentGList(self): glist = self.getGLists()[self.currentListIndex]["items"] return glist def getCurrentGlistName(self): return self.getGLists()[self.currentListIndex]["gname"] def addNewGroceryList(self, gname, item): glist = self.getGLists() + [{"gname":gname,"items":[item]}] self.updateGLists(glist) def addNewCurrentListItem(self,item): glists = self.getGLists() glists[self.currentListIndex]["items"].append(item) self.updateGLists(glists)
def setUp(self): self.db = MongodbController()
class MongoDBTest(unittest.TestCase): def setUp(self): self.db = MongodbController() def test_addDeleteUser(self): uname = 'steve1' password = '******' self.db.deleteUser(uname) self.assertIs(self.db.addUser(uname,password), True) self.assertIs(self.db.addUser(uname,password), False) self.assertIs(self.db.deleteUser(uname), True) def test_loginUser(self): uname = 'peemin' password = '******' self.db.deleteUser(uname) self.assertIs(self.db.login(uname,password), False) self.db.addUser(uname,password) self.assertIs(self.db.login(uname,password), True) self.db.deleteUser(uname) def test_updateName(self): uname = 'wheel' password = '******' name = 'Margaret' self.db.deleteUser(uname) self.db.addUser(uname,password) self.assertIs(self.db.upateName(uname,name), True) self.assertIs(self.db.upateName('peemin','punk'), False) self.db.deleteUser(uname) def test_updatePassword(self): uname = 'wheel' password = '******' newPW = 'clown123' self.db.deleteUser(uname) self.db.addUser(uname,password) self.assertIs(self.db.upatePassword(uname,newPW), True) self.assertIs(self.db.upatePassword('peemin','punk'), False) self.db.deleteUser(uname) def test_getUser(self): uname = '*****@*****.**' password = '******' name = 'Master Mind' self.db.deleteUser(uname) self.db.addUser(uname,password) self.db.upateName(uname,name) user = self.db.getUser(uname) self.assertEqual(user['user'], uname) self.assertEqual(user['password'], password) self.assertEqual(user['name'], name) self.db.deleteUser(uname) self.assertIsNone(self.db.getUser(uname)) def test_glists(self): uname = 'glistuser' password = '******' self.db.deleteUser(uname) self.db.deleteGLists(uname) user = self.db.getUser(uname) glist1 = {"items":['spinach, 1 bunch','corn, 4 can'],"gname":"grocery list 1"} glist2 = {"itmes":['broccli, 1 bunch','peas, 2 bag'],"gname":"grocery list 2"} glists = [glist1,glist2] glist3 = {"items":['chicken, 1 whole','corn, 4 can'],"gname":"grocery list 3"} glist4 = {"items":['carrot, 1 bunch','peas, 2 bag'],"gname":"grocery list 4"} glists2 = [glist3, glist4] if user is None: self.db.addUser(uname,password) userglists = self.db.getGLists(uname) if userglists is None: print ('glists is none') self.db.updateGLists(uname,glists) userglists = self.db.getGLists(uname) self.assertIsNotNone(userglists) print (userglists) self.db.updateGLists(uname,glists2) userglists2 = self.db.getGLists(uname) print ("in test_glists") print (userglists2) self.assertEqual(userglists2[0]["items"][1],glist3["items"][1]) self.db.deleteUser(uname) self.db.deleteGLists(uname)