Exemple #1
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
Exemple #2
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
Exemple #3
0
 def __init__(self,user):
     # child __init__ method needs to call this parent __init__ to configure db
     self.db = MongodbController()
     self.user = user
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
 def setUp(self):
     self.db = MongodbController()
Exemple #7
0
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)