def testDAOSaveProject(self): data={'name':'aProject','websites':[],'description':'some description'} DAO().saveProject(data) q = Project.query() projects=q.fetch() self.assertEqual(1, len(projects)) self.assertEqual('aProject', projects[0].name)
def createProjects(self, num=10): txt = """ i am writing this text for description """ for i in range(0, num): if i % 2 == 0: websites = [] elif i % 3 == 0: websites = ["web" + str(i), "web" + str(i + 1)] else: websites = ["web" + str(i)] project = Project(name="Project " + str(i), websites=websites, description=txt) # project.name='Project '+str(i) # project.created=datetime.datetime.now() project.put() """
def testCreateProjects(self): DbManager().createProjects() projects = Project.query().fetch(10) self.assertEqual(10, len(projects)) #if len(projects) > 0: #print projects[0].created #current=projects[0].created # TODO do it later for timezone: #user_tz = timezone('Asia/Singapore') #current = current.replace(tzinfo=pytz.utc).astimezone(user_tz) #print (current.strftime('%Y-%m-%d %H:%M:%S %z')) #print (current.strftime('%Y-%m-%d %H:%M:%S %Z')) # test websites numbers: websites=projects[0].websites self.assertEqual(0, len(websites)) websites=projects[3].websites self.assertEqual(2, len(websites)) websites=projects[5].websites self.assertEqual(1, len(websites)) # test website names: websites=projects[3].websites self.assertEqual('web3', websites[0]) self.assertEqual('web4', websites[1]) websites=projects[5].websites self.assertEqual('web5', websites[0]) # test the description: txt1=projects[0].description txt2=''' i am writing this text for description ''' self.assertEqual(txt1, txt2)
def testDAO1(self): DbManager().createProjects(20) # create the data DbManager().createBoys(20) boys = DAO().getBoy(None) #self.assertNotNone(boys) #print boys if len(boys) > 0: self.assertEqual('Boy 0', boys[0].name) # when user is not logged in can not take data: self.assertEqual(0, len(boys)) q = Project.query() projects=q.fetch() self.assertEqual(20, len(projects)) self.assertEqual('Project 0', projects[0].name)
def saveProject(self, data): project = Project(name=data['name'], websites=data['websites'], description=data['description']) project.put()
def getProjects(self): q = Project.query() projects, nextCursor, more = q.fetch_page(20) return projects