def testSearchProductNormal3(self):
     productList = ["ProductA", "ProductB", "ProductC", "ProductD"]
     db = dataBaseModel()
     result = db.searchProducts("")
     self.assertEquals(result[1], dataBaseModel.SUCCESS)
     for elem in result[0]:
         self.assertTrue(elem.name in productList)
 def testAddToFitList(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     for i in range(4):
         response = baseModel.addToFitList(testDBModel.testUsersID[i], testDBModel.testProducts[i], i+1 )
         queryset = FitList.objects.filter(Q(owner = testDBModel.testUsers[i]), Q(product = testDBModel.testProducts[i]))
         self.assertTrue(response == dataBaseModel.SUCCESS and queryset.count() == 1, "addTo FitList failed")
示例#3
0
 def testAddtoFitListWithBadProductName(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     response = baseModel.addToFitList(testDBModel.testUsersID[0],
                                       'bad product', 1)
     self.assertTrue(response == dataBaseModel.ERR_BAD_PRODUCT,
                     " add non exist product to fit list")
 def testGetTempProductWithBadUser(self):
     db = dataBaseModel()
     self.assertTrue(
         db.getTempProduct(100, '1')[1] == dataBaseModel.ERR_BAD_TOKEN,
         "Expect negative err code")
     self.assertTrue(
         db.getTempProduct(100, '1')[0] == None, "Expect negative err code")
 def testSearchProductNormal3(self):
     productList = ["ProductA", "ProductB", "ProductC", "ProductD"]
     db = dataBaseModel()
     result = db.searchProducts("")
     self.assertEquals(result[1], dataBaseModel.SUCCESS)
     for elem in result[0]:
         self.assertTrue(elem.name in productList)
 def testReplaceProfilePic(self):
     db = dataBaseModel()
     db.addProfilePic(testDBModel.testUsersID[0], "newprofile.jpg")
     queryset1 = User.objects.filter(user_image="profile1.jpg")
     queryset2 = User.objects.filter(user_image="newprofile.jpg")
     self.assertTrue(queryset1.count() == 0 and queryset2.count() == 1,
                     'Unable to replace existing profile picture')
 def testAddTempProduct(self):
     db = dataBaseModel()
     db.addTempProduct(testDBModel.testUsersID[0], 'testingtoken',
                       'testingoverlayol.jpg', 'glasses')
     queryset = TempProduct.objects.filter(
         Q(owner=testDBModel.testUsers[0]), Q(token='testingtoken'))
     self.assertTrue(queryset.count() == 1, 'Unable to add temp product')
 def testRemoveCustomProductBadProduct(self):
     db = dataBaseModel()
     result = db.removeCustomProduct(testDBModel.testUsersID[0],
                                     testDBModel.testProducts[1].id)
     self.assertTrue(
         result == dataBaseModel.ERR_UNABLE_TO_REMOVE_CUSTOM_PRODUCT,
         "Able to remove custom product that doesn't belong to user")
示例#9
0
 def testRemoveFromFitListwithBadProduct(self):
     baseModel = dataBaseModel()
     response = baseModel.removeFromFitList(testDBModel.testUsersID[0],
                                            'bad product', 1)
     self.assertTrue(
         response == dataBaseModel.ERR_UNABLE_TO_REMOVE_FROM_FITLIST,
         "remove non exist product from fit list")
 def testSetPositionalConfig(self):
     db = dataBaseModel()
     db.setPositionalConfig('1', 1.0, 2.0, 3.0, 4.0)
     result = TempProduct.objects.get(token = '1')
     self.assertTrue(result.xoffset == 1.0, "Couldn't set xoffset")
     self.assertTrue(result.yoffset == 2.0, "Couldn't set yoffset")
     self.assertTrue(result.scale == 3.0, "Couldn't set scale")
     self.assertTrue(result.rotation == 4.0, "Couldn't set rotation")
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
示例#11
0
 def testGetFitList(self):
     baseModel = dataBaseModel()
     for i in range(4):
         response = baseModel.getFitList(testDBModel.testUsersID[i])
         self.assertTrue(
             response[1] == dataBaseModel.SUCCESS and len(response[0]) > 0,
             "can's get the Fit List")
 def testAddProduct(self):
     db = dataBaseModel()
     result = db.addProduct(testDBModel.testUsersID[3], "image.jpg", "overlayol.jpg", "glasses", "brand", "nameA", "www.url.com", 32, "testing description") 
     self.assertTrue(result == dataBaseModel.SUCCESS, "Add product not returning success")
     queryset = Product.objects.filter(name="nameA")
     self.assertTrue(queryset.count() == 1, "Add product not adding product to database")
     queryset = Added.objects.filter(owner = testDBModel.testUsers[3])
     self.assertTrue(queryset.count() == 1, "Add product not adding Added entry")
示例#13
0
 def testSetPositionalConfig(self):
     db = dataBaseModel()
     db.setPositionalConfig('1', 1.0, 2.0, 3.0, 4.0)
     result = TempProduct.objects.get(token='1')
     self.assertTrue(result.xoffset == 1.0, "Couldn't set xoffset")
     self.assertTrue(result.yoffset == 2.0, "Couldn't set yoffset")
     self.assertTrue(result.scale == 3.0, "Couldn't set scale")
     self.assertTrue(result.rotation == 4.0, "Couldn't set rotation")
 def testAddProductBadPrice(self):
     db = dataBaseModel()
     result = db.addProduct(testDBModel.testUsersID[3], "image.jpg", "overlayol.jpg", "wrong category", "brand", "nameA", "www.url.com", "badprice", "testing description") 
     self.assertTrue(result == dataBaseModel.ERR_UNABLE_TO_ADD_PRODUCT, "Add product not returning failure")
     queryset = Product.objects.filter(name="nameA")
     self.assertTrue(queryset.count() == 0, "Add product adding wrong product to database")
     queryset = Added.objects.filter(owner = testDBModel.testUsers[3])
     self.assertTrue(queryset.count() == 0, "Add product adding wrong Added entry")
示例#15
0
 def testRemoveFromWishList(self):
     baseModel = dataBaseModel()
     from django.db.models import Q
                
     for i in range(4):
         response = baseModel.removeFromWishList(testDBModel.testUsersID[i], testDBModel.testProducts[i], i+1)
         queryset = WishList.objects.filter(Q(owner=testDBModel.testUsers[i]), Q(product=testDBModel.testProducts[i]))
         self.assertTrue(response == dataBaseModel.SUCCESS and queryset.count() == 0, "can not do removeFromWishList")
示例#16
0
 def testAddToWishList(self):
     baseModel = dataBaseModel()
     WishList.objects.all().delete()
     from django.db.models import Q
     for i in range(4):
         response = baseModel.addToWishList(testDBModel.testUsersID[i], testDBModel.testProducts[i], i+1)
         queryset = WishList.objects.filter(Q(owner=testDBModel.testUsers[i]), Q(product=testDBModel.testProducts[i]))
         self.assertTrue(response == dataBaseModel.SUCCESS and queryset.count() == 1, "addToWishList failed, can not add")
示例#17
0
 def testEditProductBadProductID(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg",
                             "changedol.jpg", "glasses", "brand",
                             "newproduct1", "randomurl", 24,
                             "changed description", 100)
     self.assertTrue(
         result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT,
         "Did not prompt error on bad product id")
 def testAddToFitListAlreadyExists(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     for i in range(4):
         response = baseModel.addToFitList(testDBModel.testUsersID[i], testDBModel.testProducts[i], i+1 )
         queryset = FitList.objects.filter(Q(owner = testDBModel.testUsers[i]), Q(product = testDBModel.testProducts[i]))
         self.assertTrue(response == dataBaseModel.SUCCESS and queryset.count() == 1, "addTo FitList failed")
         response = baseModel.addToFitList(testDBModel.testUsersID[i], testDBModel.testProducts[i], i+1 )
         self.assertTrue(response == dataBaseModel.ERR_FITLIST_ALREADY_EXIST, "able to add duplicate item")
示例#19
0
 def testEditProductBadUserID(self):
     db = dataBaseModel()
     result = db.editProduct(100, "changed.jpg", "changedol.jpg", "glasses",
                             "brand", "newproduct1", "randomurl", 24,
                             "changed description",
                             testDBModel.testProducts[0].id)
     self.assertTrue(
         result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT,
         "Unable to edit custom item")
示例#20
0
 def testGetTempProductWithBadToken(self):
     db = dataBaseModel()
     self.assertTrue(
         db.getTempProduct(testDBModel.testUsersID[0],
                           'a')[1] == dataBaseModel.ERR_BAD_TOKEN,
         "Expect negative err code")
     self.assertTrue(
         db.getTempProduct(testDBModel.testUsersID[0], 'a')[0] == None,
         "Expect negative err code")
示例#21
0
 def testGetDetailWithValidProductID(self):
     baseModel = dataBaseModel()
     for i in range(4):
         productDetail = baseModel.getDetail(testDBModel.testProducts[i], i+1) # pk starts from 1
         self.assertTrue(productDetail != None, "getDetail failed, can not find the product")
         self.assertTrue(productDetail[0].category == testDBModel.testCategory[0], "getDetail failed, wrong category")
         self.assertTrue(productDetail[0].brand == "brand", "getDetail failed, wrong brand")
         self.assertTrue(productDetail[0].url == "url", "getDetail failed, wrong url")
         self.assertTrue(productDetail[0].photo == "photo", "getDetail failed, wrong photo")
         self.assertTrue(productDetail[0].price == 1.0, "getDetail failed, wrong price")
示例#22
0
 def testGetTempProduct(self):
     db = dataBaseModel()
     self.assertTrue(
         db.getTempProduct(testDBModel.testUsersID[0],
                           '1')[1] == dataBaseModel.SUCCESS,
         "Failed to get temp product user 0")
     self.assertTrue(
         db.getTempProduct(testDBModel.testUsersID[0],
                           '1')[0].overlay == testDBModel.testOverlay[0],
         "Failed to get temp product user 0")
示例#23
0
 def testEditProductOtherProductID(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg",
                             "changedol.jpg", "glasses", "brand",
                             "newproduct1", "randomurl", 24,
                             "changed description",
                             testDBModel.testProducts[1].id)
     self.assertTrue(
         result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT,
         "Able to edit other custom item")
示例#24
0
 def testEditProduct(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg",
                             "changedol.jpg", "glasses", "brand",
                             "newproduct1", "randomurl", 24,
                             "changed description",
                             testDBModel.testProducts[0].id)
     self.assertTrue(result == dataBaseModel.SUCCESS,
                     "Unable to edit custom item")
     queryset = Product.objects.filter(name="newproduct1")
     self.assertTrue(queryset.count() == 1, "Edited name not updated")
示例#25
0
 def testAddProduct(self):
     db = dataBaseModel()
     result = db.addProduct(testDBModel.testUsersID[3], "image.jpg",
                            "overlayol.jpg", "glasses", "brand", "nameA",
                            "www.url.com", 32, "testing description")
     self.assertTrue(result == dataBaseModel.SUCCESS,
                     "Add product not returning success")
     queryset = Product.objects.filter(name="nameA")
     self.assertTrue(queryset.count() == 1,
                     "Add product not adding product to database")
     queryset = Added.objects.filter(owner=testDBModel.testUsers[3])
     self.assertTrue(queryset.count() == 1,
                     "Add product not adding Added entry")
示例#26
0
 def testAddToFitList(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     for i in range(4):
         response = baseModel.addToFitList(testDBModel.testUsersID[i],
                                           testDBModel.testProducts[i],
                                           i + 1)
         queryset = FitList.objects.filter(
             Q(owner=testDBModel.testUsers[i]),
             Q(product=testDBModel.testProducts[i]))
         self.assertTrue(
             response == dataBaseModel.SUCCESS and queryset.count() == 1,
             "addTo FitList failed")
示例#27
0
 def testAddProductBadPrice(self):
     db = dataBaseModel()
     result = db.addProduct(testDBModel.testUsersID[3], "image.jpg",
                            "overlayol.jpg", "wrong category", "brand",
                            "nameA", "www.url.com", "badprice",
                            "testing description")
     self.assertTrue(result == dataBaseModel.ERR_UNABLE_TO_ADD_PRODUCT,
                     "Add product not returning failure")
     queryset = Product.objects.filter(name="nameA")
     self.assertTrue(queryset.count() == 0,
                     "Add product adding wrong product to database")
     queryset = Added.objects.filter(owner=testDBModel.testUsers[3])
     self.assertTrue(queryset.count() == 0,
                     "Add product adding wrong Added entry")
示例#28
0
 def testAddToFitListAlreadyExists(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     for i in range(4):
         response = baseModel.addToFitList(testDBModel.testUsersID[i],
                                           testDBModel.testProducts[i],
                                           i + 1)
         queryset = FitList.objects.filter(
             Q(owner=testDBModel.testUsers[i]),
             Q(product=testDBModel.testProducts[i]))
         self.assertTrue(
             response == dataBaseModel.SUCCESS and queryset.count() == 1,
             "addTo FitList failed")
         response = baseModel.addToFitList(testDBModel.testUsersID[i],
                                           testDBModel.testProducts[i],
                                           i + 1)
         self.assertTrue(
             response == dataBaseModel.ERR_FITLIST_ALREADY_EXIST,
             "able to add duplicate item")
 def testGetFitListFromNonExistUser(self):
     baseModel = dataBaseModel()
     response = baseModel.getFitList(6)
     self.assertTrue(response[1] == dataBaseModel.ERR_BAD_USER and len(response[0]) == 0, "get fit list from a non exist user")
示例#30
0
 def testRemoveTempProduct(self):
     db = dataBaseModel()
     self.assertTrue(
         db.removeTempProduct(
             testDBModel.testUsersID[0])[0] == testDBModel.testOverlay[0],
         "Remove temp product not returning correct image path")
示例#31
0
 def testGetNumAddedBadUseID(self):
     db = dataBaseModel()
     result = db.getNumAdded(100)
     self.assertTrue(result == 0,
                     "Wrong num of custom item added when invalid user id")
 def testRemoveFromFitListwithBadProduct(self):
     baseModel = dataBaseModel()
     response = baseModel.removeFromFitList(testDBModel.testUsersID[0], 'bad product', 1 )
     self.assertTrue(response == dataBaseModel.ERR_UNABLE_TO_REMOVE_FROM_FITLIST, "remove non exist product from fit list")
示例#33
0
 def testFindPositionalConfig(self):
     db = dataBaseModel()
     result = db.findPositionalConfig('1')
     self.assertTrue(result == (0.0, 0.0, 1.0, 0.0),
                     "findPositionalConfig returning incorrect numbers")
示例#34
0
 def testGetUserInfo(self):
     db = dataBaseModel()
     result = db.getUserInfo(testDBModel.testUsersID[0])
     self.assertTrue(result == testDBModel.testUsers[0],
                     "Unable to get correct user info")
 def testEditProductBadUserID(self):
     db = dataBaseModel()
     result = db.editProduct(100, "changed.jpg", "changedol.jpg","glasses", "brand", "newproduct1", "randomurl", 24, "changed description", testDBModel.testProducts[0].id)
     self.assertTrue(result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT, "Unable to edit custom item")
 def testRemoveTempProductBadUserID(self):
     db = dataBaseModel()
     self.assertTrue(db.removeTempProduct(100) == [], "Remove temp product not returning empty image path")   
 def testGetUserInfoBadUserID(self):
     db = dataBaseModel()
     result = db.getUserInfo(100)
     self.assertTrue(result == "", "Unable to retrieve empty string on invalid user id")
 def testEditProduct(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg", "changedol.jpg","glasses", "brand", "newproduct1", "randomurl", 24, "changed description", testDBModel.testProducts[0].id)
     self.assertTrue(result == dataBaseModel.SUCCESS, "Unable to edit custom item")
     queryset = Product.objects.filter(name="newproduct1")
     self.assertTrue(queryset.count() == 1, "Edited name not updated")
 def testGetUserInfo(self):
     db = dataBaseModel()
     result = db.getUserInfo(testDBModel.testUsersID[0])
     self.assertTrue(result == testDBModel.testUsers[0], "Unable to get correct user info")
 def testGetNumAddedBadUseID(self):
     db = dataBaseModel()
     result = db.getNumAdded(100)
     self.assertTrue(result == 0, "Wrong num of custom item added when invalid user id")    
 def testGetNumAdded(self):
     db = dataBaseModel()
     result = db.getNumAdded(testDBModel.testUsersID[0])
     self.assertTrue(result == 1, "Unable to get correct num added custom item")    
 def testGetTempProductWithBadToken(self):
     db = dataBaseModel()
     self.assertTrue(db.getTempProduct(testDBModel.testUsersID[0], 'a')[1] == dataBaseModel.ERR_BAD_TOKEN, "Expect negative err code")
     self.assertTrue(db.getTempProduct(testDBModel.testUsersID[0], 'a')[0] == None, "Expect negative err code")
 def testEditProductOtherProductID(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg", "changedol.jpg","glasses", "brand", "newproduct1", "randomurl", 24, "changed description", testDBModel.testProducts[1].id)
     self.assertTrue(result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT, "Able to edit other custom item") 
 def testRemoveTempProduct(self):
     db = dataBaseModel()
     self.assertTrue(db.removeTempProduct(testDBModel.testUsersID[0])[0] == testDBModel.testOverlay[0], "Remove temp product not returning correct image path")
 def testEditProductBadProductID(self):
     db = dataBaseModel()
     result = db.editProduct(testDBModel.testUsersID[0], "changed.jpg", "changedol.jpg","glasses", "brand", "newproduct1", "randomurl", 24, "changed description", 100)
     self.assertTrue(result == dataBaseModel.ERR_UNABLE_TO_EDIT_CUSTOM_PRODUCT, "Did not prompt error on bad product id") 
 def testAddTempProduct(self):
     db = dataBaseModel()
     db.addTempProduct(testDBModel.testUsersID[0],'testingtoken', 'testingoverlayol.jpg', 'glasses')
     queryset = TempProduct.objects.filter(Q(owner = testDBModel.testUsers[0]), Q(token='testingtoken'))
     self.assertTrue(queryset.count() == 1, 'Unable to add temp product')
 def testFindPositionalConfig(self):
     db = dataBaseModel()
     result = db.findPositionalConfig('1')
     self.assertTrue(result == (0.0,0.0,1.0,0.0), "findPositionalConfig returning incorrect numbers")
示例#48
0
 def testGetUserInfoBadUserID(self):
     db = dataBaseModel()
     result = db.getUserInfo(100)
     self.assertTrue(result == "",
                     "Unable to retrieve empty string on invalid user id")
 def testFindPositionalConfigBadToken(self):
     db = dataBaseModel()
     result = db.findPositionalConfig('100')
     self.assertTrue(result == None, "findPositionalConfig not returning None on bad tokens")
 def testSearchProductWithBadName(self):
     db = dataBaseModel()
     result = db.searchProducts("AB")
     self.assertEquals(result[1], dataBaseModel.SUCCESS)
     self.assertEquals(len(result[0]), 0)
示例#51
0
 def testFindPositionalConfigBadToken(self):
     db = dataBaseModel()
     result = db.findPositionalConfig('100')
     self.assertTrue(
         result == None,
         "findPositionalConfig not returning None on bad tokens")
 def testAddtoFitListWithBadProductName(self):
     baseModel = dataBaseModel()
     FitList.objects.all().delete()
     response = baseModel.addToFitList(testDBModel.testUsersID[0], 'bad product', 1)
     self.assertTrue(response == dataBaseModel.ERR_BAD_PRODUCT, " add non exist product to fit list")
 def testGetTempProduct(self):
     db = dataBaseModel()
     self.assertTrue(db.getTempProduct(testDBModel.testUsersID[0], '1')[1] == dataBaseModel.SUCCESS, "Failed to get temp product user 0")
     self.assertTrue(db.getTempProduct(testDBModel.testUsersID[0], '1')[0].overlay == testDBModel.testOverlay[0], "Failed to get temp product user 0")
 def testGetFitList(self):
     baseModel = dataBaseModel()
     for i in range(4):
         response = baseModel.getFitList(testDBModel.testUsersID[i])
         self.assertTrue(response[1] == dataBaseModel.SUCCESS and len(response[0]) > 0, "can's get the Fit List")
 def testGetTempProductWithBadUser(self):
     db = dataBaseModel()
     self.assertTrue(db.getTempProduct(100, '1')[1] == dataBaseModel.ERR_BAD_TOKEN, "Expect negative err code")
     self.assertTrue(db.getTempProduct(100, '1')[0] == None, "Expect negative err code")
示例#56
0
 def testSearchProductWithBadName(self):
     db = dataBaseModel()
     result = db.searchProducts("AB")
     self.assertEquals(result[1], dataBaseModel.SUCCESS)
     self.assertEquals(len(result[0]), 0)
示例#57
0
 def testRemoveTempProductBadUserID(self):
     db = dataBaseModel()
     self.assertTrue(
         db.removeTempProduct(100) == [],
         "Remove temp product not returning empty image path")