def test_list(self): from c2cgeoform.views import list from models_test import Person DBSession.add(Person(name="Peter", first_name="Smith")) DBSession.add(Person(name="John", first_name="Wayne")) request = self._get_request() request.matchdict['schema'] = 'tests_persons' response = list(request) self.assertTrue('entities' in response) entities = response['entities'] self.assertEquals(2, len(entities)) schema = response['schema'] self.assertEquals(['id', 'name'], schema.list_fields)
def test_view_user(self): from c2cgeoform.views import view_user from models_test import Person person = Person(name="Peter", first_name="Smith", hash="123-456") DBSession.add(person) DBSession.flush() request = self._get_request() request.matchdict['schema'] = 'tests_persons' request.matchdict['hash'] = "123-456" response = view_user(request) self.assertTrue('schema' in response) self.assertTrue('form' in response) form_html = response['form'] self.assertTrue('Peter' in form_html) self.assertTrue('Smith' in form_html)
def test_edit_submit_invalid(self): from c2cgeoform.views import edit from models_test import Person person = Person(name="Peter", first_name="Smith") DBSession.add(person) DBSession.flush() request = self._get_request() request.matchdict['schema'] = 'tests_persons' request.matchdict['id'] = str(person.id) request.POST['id'] = str(person.id) request.POST['submit'] = 'submit' response = edit(request) self.assertTrue('schema' in response) self.assertTrue('form' in response) form_html = response['form'] self.assertTrue('class="errorMsgLbl"' in form_html)
def test_view_admin(self): from c2cgeoform.views import view_admin from models_test import Person person = Person(name="Peter", first_name="Smith") DBSession.add(person) DBSession.flush() request = self._get_request() request.matchdict['schema'] = 'tests_persons' request.matchdict['id'] = str(person.id) response = view_admin(request) self.assertTrue('schema' in response) self.assertTrue('form' in response) form_html = response['form'] self.assertTrue('name="id"' in form_html) self.assertTrue('value="' + str(person.id) + '"' in form_html) self.assertTrue('Peter' in form_html) self.assertTrue('Smith' in form_html)
def _add_test_persons(): from models_test import Person DBSession.add(Person(name="Smith", first_name="Peter")) DBSession.add(Person(name="Wayne", first_name="John")) DBSession.add(Person(name="Elda", first_name="Hasbrouck")) DBSession.add(Person(name="Lashaun", first_name="Brasel")) DBSession.add(Person(name="Lashawna", first_name="Ashford")) DBSession.add(Person(name="Lesha", first_name="Snellgrove")) DBSession.add(Person(name="Sulema", first_name="Page")) DBSession.add(Person(name="Derek", first_name="Boroughs")) DBSession.add(Person(name="Odis", first_name="Bateman")) DBSession.add(Person(name="Venetta", first_name="Briganti")) DBSession.add(Person(name="Monte", first_name="Quill")) DBSession.add(Person(name="Daniel", first_name="Ruth")) DBSession.add(Person(name="Eloise", first_name="Hellickson")) DBSession.add(Person(name="Hee", first_name="Deloney")) DBSession.add(Person(name="Sharee", first_name="Warf")) DBSession.add(Person(name="Delpha", first_name="Philip")) DBSession.add(Person(name="Claudio", first_name="Campfield")) DBSession.add(Person(name="Janessa", first_name="Beatty")) DBSession.add(Person(name="Hollis", first_name="Richmond")) DBSession.add(Person(name="Karoline", first_name="Carew")) DBSession.add(Person(name="Bess", first_name="Papp")) DBSession.add(Person(name="Vada", first_name="Infantino"))
def test_edit_submit_successful(self): from c2cgeoform.views import edit from models_test import Person, Phone, TagsForPerson person = Person(name="Peter", first_name="Smith") phone = Phone(number="123456789") person.phones.append(phone) tag_for_person = TagsForPerson(tag_id=0) person.tags.append(tag_for_person) DBSession.add(person) DBSession.flush() old_tag_for_person_id = tag_for_person.id request = self._get_request() request.matchdict['schema'] = 'tests_persons' request.matchdict['id'] = str(person.id) request.POST.add('id', str(person.id)) request.POST.add('submit', 'submit') request.POST.add('name', 'Peter') request.POST.add('first_name', 'Smith') request.POST.add('age', '43') request.POST.add('__start__', 'phones:sequence') request.POST.add('__start__', 'phones:mapping') request.POST.add('id', str(phone.id)) request.POST.add('number', '23456789') request.POST.add('person_id', str(person.id)) request.POST.add('__end__', 'phones:mapping') request.POST.add('__start__', 'phones:mapping') request.POST.add('number', '123456') request.POST.add('__end__', 'phones:mapping') request.POST.add('__end__', 'phones:sequence') request.POST.add('__start__', 'tags:sequence') request.POST.add('tags', u'0') request.POST.add('tags', u'1') request.POST.add('__end__', 'tags:sequence') response = edit(request) person = DBSession.query(Person).get(person.id) self.assertEquals('Peter', person.name) self.assertEquals('Smith', person.first_name) self.assertEquals(43, person.age) self.assertEquals(2, len(person.phones)) updated_phone = person.phones[0] self.assertEquals('23456789', updated_phone.number) self.assertEquals(phone.id, updated_phone.id) new_phone = person.phones[1] self.assertEquals('123456', new_phone.number) self.assertIsNotNone(new_phone.id) self.assertEquals(2, len(person.tags)) tag_for_person1 = person.tags[0] self.assertEquals(0, tag_for_person1.tag_id) self.assertEquals(person.id, tag_for_person1.person_id) self.assertIsNotNone(tag_for_person1.id) # a new row is created, also for the old entry self.assertNotEquals(old_tag_for_person_id, tag_for_person1.id) tag_for_person2 = person.tags[1] self.assertEquals(1, tag_for_person2.tag_id) self.assertEquals(person.id, tag_for_person2.person_id) self.assertIsNotNone(tag_for_person2.id) tags_for_persons = DBSession.query(TagsForPerson).all() # check that the old entry was deleted, so that there are only 2 self.assertEquals(2, len(tags_for_persons)) self.assertTrue('schema' in response) self.assertTrue('form' in response) form_html = response['form'] self.assertTrue('name="id"' in form_html) self.assertTrue('value="' + str(person.id) + '"' in form_html) self.assertTrue('name="id" value="' + str(person.id) + '"' in form_html) self.assertTrue('name="id" value="' + str(phone.id) + '"' in form_html) self.assertTrue('name="id" value="' + str(new_phone.id) + '"' in form_html) self.assertTrue('name="person_id" value="' + str(person.id) + '"' in form_html) self.assertTrue('name="submit"' in form_html) self.assertTrue('Tag A' in form_html) self.assertTrue('Tag B' in form_html)