summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_views
diff options
context:
space:
mode:
authorKevin Kubasik <kevin@kubasik.net>2009-06-23 07:02:54 +0000
committerKevin Kubasik <kevin@kubasik.net>2009-06-23 07:02:54 +0000
commite223716bd80ced8a2ca25ea4befc327f425c7203 (patch)
treeca94bc45308801ba77d984c51bf5fcebb5d29f1d /tests/regressiontests/admin_views
parent2fd60f00163e59bcd87350598af3029f7af5b2a3 (diff)
[gsoc2009-testing] Initial tests for the Admin views based on exisiting models and fixtures. runtest.py --windmill will activate them
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/test-improvements@11087 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_views')
-rw-r--r--tests/regressiontests/admin_views/tests.py21
-rw-r--r--tests/regressiontests/admin_views/windmilltests/__init__.py346
2 files changed, 367 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py
index 8e7010be9f..769bc9a759 100644
--- a/tests/regressiontests/admin_views/tests.py
+++ b/tests/regressiontests/admin_views/tests.py
@@ -1419,3 +1419,24 @@ class AdminInlineTests(TestCase):
self.failUnlessEqual(response.status_code, 302)
self.failUnlessEqual(FancyDoodad.objects.count(), 1)
self.failUnlessEqual(FancyDoodad.objects.all()[0].name, "Fancy Doodad 1 Updated")
+
+import os
+from django.test import windmill_tests as djangotest
+#from windmill.authoring import djangotest
+from windmill.conf import global_settings
+
+# class TestProjectWindmillTest(djangotest.WindmillDjangoUnitTest):
+# fixtures = ['admin-views-users.xml', 'admin-views-colors.xml', 'admin-views-fabrics.xml', 'admin-views-unicode.xml',
+# 'multiple-child-classes', 'admin-views-actions.xml', 'string-primary-key.xml', 'admin-views-person.xml']
+# test_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'windmilltests')
+# #test_dir = os.path.dirname(os.path.abspath(__file__))
+# #test_dir = os.path.dirname(os.path.abspath(__file__))
+# browser = 'firefox'
+# test_url = 'http://localhost:8000/test_admin/admin/'
+# global_settings.TEST_URL = test_url
+
+ # def test_tryout(self):
+ # pass
+
+
+
diff --git a/tests/regressiontests/admin_views/windmilltests/__init__.py b/tests/regressiontests/admin_views/windmilltests/__init__.py
new file mode 100644
index 0000000000..1b1e60b882
--- /dev/null
+++ b/tests/regressiontests/admin_views/windmilltests/__init__.py
@@ -0,0 +1,346 @@
+# import os
+# from django.test import windmill_tests as djangotest
+# #from windmill.authoring import djangotest
+# from windmill.conf import global_settings
+#
+# class TestProjectWindmillTest(djangotest.WindmillDjangoUnitTest):
+# fixtures = ['admin-views-users.xml', 'admin-views-colors.xml', 'admin-views-fabrics.xml', 'admin-views-unicode.xml',
+# 'multiple-child-classes', 'admin-views-actions.xml', 'string-primary-key.xml', 'admin-views-person.xml']
+# #test_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'windmilltests')
+# test_dir = os.path.dirname(os.path.abspath(__file__))
+# #test_dir = os.path.dirname(os.path.abspath(__file__))
+# browser = 'firefox'
+# test_url = 'http://localhost:8000/test_admin/admin/'
+# global_settings.TEST_URL = test_url
+#
+# # def test_tryout(self):
+# # pass
+#
+
+# Generated by the windmill services transformer
+from windmill.authoring import WindmillTestClient
+
+# def test_recordingSuite0():
+# client = WindmillTestClient(__name__)
+# client.open("http://localhost:8000/test_admin/admin")
+# client.type(text="Hello", name='q')
+# client.click(xpath=u"//span[@id='body']/center/form/table[2]/tbody/tr[8]/td")
+# client.waits.forPageLoad(timeout=u'20000')
+# client.asserts.assertNode(xpath=u"//div[@id='res']/div/ol/li/h3[1]/a/em")
+# client.asserts.assertNode(link=u'How do you say hello in Japanese ? - Yahoo! Answers')
+# client.asserts.assertNode(link=u'hello')
+# client.asserts.assertNode(link=u'japanese')
+#
+
+
+def test_recordingSuite1():
+ '''Mostly just a proof of concept to test working order of tests.'''
+ client = WindmillTestClient(__name__)
+
+ # print dir(client)
+ # print dir(client.open)
+ # print dir(client.commands)
+ # print client.commands()
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.type(text=u'super', id=u'id_username')
+ client.type(text=u'secret', id=u'id_password')
+ client.click(value=u'Log in')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(xpath=u"//div[@id='content-main']/div/table/tbody/tr[1]/th")
+ client.asserts.assertNode(link=u'Articles')
+ client.asserts.assertNode(link=u'Add')
+ client.asserts.assertNode(link=u'Change')
+ client.asserts.assertNode(link=u'Admin_Views')
+ client.asserts.assertNode(xpath=u"//div[@id='user-tools']/strong")
+ client.click(xpath=u"//div[@id='content-main']/div/table/tbody/tr[22]/td/a")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.type(text=u'Test Section', id=u'id_name')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(link=u'Section object')
+ client.click(link=u' Admin_views ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Add', timeout=u'8000')
+ client.click(link=u'Add')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.type(text=u'Test 1', id=u'id_title')
+ client.type(text=u'This is test content.', id=u'id_content')
+ client.click(link=u'Today')
+ client.click(link=u'Now')
+ client.click(id=u'id_section')
+ client.select(option=u'Section object', id=u'id_section')
+ client.click(value=u'1')
+ #client.asserts.assertValue(validator=u'2009-06-16', id=u'id_date_0')
+ #client.asserts.assertValue(validator=u'13:31:21', id=u'id_date_1')
+ client.asserts.assertNode(id=u'id_section')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(link=u'This is test content.')
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[2]")
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[3]")
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[4]")
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[5]")
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/th")
+ client.click(link=u'Today')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(xpath=u"//div[@id='changelist']/form/table/tbody/tr/th")
+ client.click(link=u' Home ')
+ client.waits.forPageLoad(timeout=u'20000')
+
+def test_recordingSuite2():
+ '''Creating a Model with strings for pk, and checking history.'''
+ client = WindmillTestClient(__name__)
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ # client.open(url="http://localhost:8000/test_admin/admin")
+ # client.type(text=u'super', id=u'id_username')
+ # client.type(text=u'secret', id=u'id_password')
+ # client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Model with string primary keys', timeout=u'8000')
+ client.click(link=u'Model with string primary keys')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u' Add model with string primary key ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.type(text=u'hello', id=u'id_id')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ #client.asserts.assertNode(link=u'hello')
+ client.click(link=u'hello')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'History')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(xpath=u"//table[@id='change-history']/tbody/tr/td")
+ client.click(link=u'hello')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertValue(validator=u'hello', id=u'id_id')
+ client.click(link=u'Delete')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertNode(xpath=u"//div[@id='content']/ul/li")
+ client.asserts.assertNode(link=u'hello')
+ client.click(value=u"Yes, I'm sure")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/p", validator=u'\n\n1 model with string primary key\n\n\n')
+ client.click(link=u' Home ')
+
+def test_recordingSuite3():
+ '''Testing Updates and Filters/Search on Person Models'''
+ client = WindmillTestClient(__name__)
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'Persons')
+ client.asserts.assertNode(link=u'John Mauchly')
+ client.asserts.assertNode(link=u'Grace Hooper')
+ client.asserts.assertNode(link=u'Guido van Rossum')
+ client.asserts.assertSelected(validator=u'Male', id=u'id_form-0-gender')
+ client.asserts.assertValue(validator=u'1', id=u'id_form-1-gender')
+ client.asserts.assertSelected(validator=u'Male', id=u'id_form-2-gender')
+ client.asserts.assertValue(validator=u'on', id=u'id_form-0-alive')
+ client.asserts.assertValue(validator=u'on', id=u'id_form-1-alive')
+ client.asserts.assertValue(validator=u'on', id=u'id_form-2-alive')
+ client.click(link=u'John Mauchly')
+ client.asserts.assertValue(validator=u'John Mauchly', id=u'id_name')
+ client.asserts.assertSelected(validator=u'Male', id=u'id_gender')
+ client.asserts.assertValue(validator=u'on', id=u'id_alive')
+ client.check(id=u'id_alive')
+ client.click(xpath=u"//form[@id='person_form']/div/fieldset/div[2]")
+ client.click(id=u'id_gender')
+ client.select(option=u'Female', id=u'id_gender')
+ client.click(value=u'2')
+ client.click(id=u'id_name')
+ client.type(text=u'John Mauchly Updated', id=u'id_name')
+ client.click(name=u'_save')
+ client.asserts.assertSelected(validator=u'Female', id=u'id_form-0-gender')
+ client.asserts.assertValue(validator=u'on', id=u'id_form-0-alive')
+ client.asserts.assertNode(link=u'John Mauchly Updated')
+ client.click(id=u'searchbar')
+ client.type(text=u'John', id=u'searchbar')
+ client.click(value=u'Search')
+ client.asserts.assertNode(link=u'John Mauchly Updated')
+ client.click(link=u'3 total')
+ client.type(text=u'Grace', id=u'searchbar')
+ client.click(value=u'Search')
+ client.asserts.assertNode(link=u'Grace Hooper')
+ client.click(link=u'3 total')
+ client.asserts.assertNode(link=u'Guido van Rossum')
+ client.click(link=u'Female')
+ client.asserts.assertNode(link=u'John Mauchly Updated')
+ client.click(link=u'All')
+ client.asserts.assertNode(link=u'Guido van Rossum')
+ client.click(link=u' Home ')
+
+def test_recordingSuite4():
+ '''Admin Actions test. Test the default delete action.'''
+ client = WindmillTestClient(__name__)
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'Fabrics')
+ client.check(name=u'_selected_action')
+ client.click(name=u'action')
+ client.select(option=u'Delete selected fabrics', name=u'action')
+ client.click(value=u'delete_selected')
+ client.click(name=u'index')
+ client.click(value=u"Yes, I'm sure")
+ client.asserts.assertNode(link=u'Vertical')
+ client.asserts.assertNode(link=u'Horizontal')
+
+def test_recordingSuite5():
+ client = WindmillTestClient(__name__)
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'Articles')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Date', timeout=u'8000')
+ client.click(link=u'Date')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[2]", validator=u'March 18, 2000, 11:54 a.m.')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr[2]/td[2]", validator=u'March 18, 2008, 11:54 a.m.')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[4]", validator=u'2000')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr[2]/td[4]", validator=u'2008')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr[3]/td[4]", validator=u'2009')
+ client.click(link=u'Modeladmin year')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Content', timeout=u'8000')
+ client.click(link=u'Content')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertText(xpath=u"//div[@id='changelist']/form/table/tbody/tr/td[4]", validator=u'2008')
+ client.click(xpath=u"//div[@id='changelist']/form/table/tbody/tr/th/a")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(xpath=u"//a[@id='calendarlink0']/img", timeout=u'8000')
+ client.click(xpath=u"//a[@id='calendarlink0']/img")
+ client.click(link=u'Cancel')
+ client.click(xpath=u"//a[@id='clocklink0']/img")
+ client.click(link=u'Midnight')
+ client.click(id=u'id_date_1')
+ client.asserts.assertValue(validator=u'00:00:00', id=u'id_date_1')
+ client.click(xpath=u"//a[@id='clocklink0']/img")
+ client.click(link=u'6 a.m.')
+ client.asserts.assertValue(validator=u'06:00:00', id=u'id_date_1')
+ client.click(xpath=u"//a[@id='clocklink0']/img")
+ client.click(link=u'Noon')
+ client.click(id=u'id_date_1')
+ client.asserts.assertValue(validator=u'12:00:00', id=u'id_date_1')
+ client.click(link=u'Articles')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u' Add article ', timeout=u'8000')
+ client.click(link=u' Add article ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.type(text=u'Test Art', id=u'id_title')
+ client.type(text=u'<p> Test </p>', id=u'id_content')
+ client.click(xpath=u"//a[@id='calendarlink0']/img")
+ client.click(link=u'17')
+ client.click(xpath=u"//a[@id='clocklink0']/img")
+ client.click(link=u'6 a.m.')
+ client.click(id=u'id_section')
+ client.select(option=u'Section object', id=u'id_section')
+ client.click(value=u'1')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(xpath=u"//div[@id='changelist']/form/table/tbody/tr/th/a", timeout=u'8000')
+ client.click(xpath=u"//div[@id='changelist']/form/table/tbody/tr/th/a")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', id=u'id_content')
+ client.click(id=u'id_content')
+ client.type(text=u'<p> Test This </p>', id=u'id_content')
+ client.click(name=u'_continue')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertValue(validator=u'<p> Test This </p>', id=u'id_content')
+ client.click(link=u'Articles')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.check(name=u'_selected_action')
+ client.click(name=u'action')
+ client.check(name=u'_selected_action')
+ client.click(link=u' Home ')
+ client.waits.forPageLoad(timeout=u'20000')
+
+def test_recordingSuite6():
+ client = WindmillTestClient(__name__)
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'Parents')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u' Add parent ', timeout=u'8000')
+ client.click(link=u' Add parent ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.type(text=u'Papa', id=u'id_name')
+ client.type(text=u'Billy', id=u'id_child_set-0-name')
+ client.type(text=u'Bobby', id=u'id_child_set-1-name')
+ client.type(text=u'Betty', id=u'id_child_set-2-name')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Parent object', timeout=u'8000')
+ client.click(link=u'Parent object')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.asserts.assertValue(validator=u'Billy', id=u'id_child_set-0-name')
+ client.asserts.assertValue(validator=u'Bobby', id=u'id_child_set-1-name')
+ client.asserts.assertValue(validator=u'Betty', id=u'id_child_set-2-name')
+ client.click(link=u'Home')
+ client.waits.forPageLoad(timeout=u'20000')
+
+
+def test_recordingSuite7():
+ client = WindmillTestClient(__name__)
+
+ client.open(url="http://localhost:8000/test_admin/admin")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.click(link=u'Empty models')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u' Add empty model ', timeout=u'8000')
+ client.click(link=u' Add empty model ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_save')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u' Add empty model ', timeout=u'8000')
+ client.click(link=u' Add empty model ')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_continue')
+ client.click(name=u'_continue')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Empty models', timeout=u'8000')
+ client.click(link=u'Empty models')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Primary key = 2', timeout=u'8000')
+ client.click(link=u'Primary key = 2')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_addanother')
+ client.click(name=u'_addanother')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_save')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Primary key = 3', timeout=u'8000')
+ client.click(link=u'Primary key = 3')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_addanother')
+ client.click(name=u'_addanother')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', name=u'_save')
+ client.click(name=u'_save')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.check(xpath=u"//div[@id='changelist']/form/table/tbody/tr[2]/td[1]/input")
+ client.check(name=u'_selected_action')
+ client.click(name=u'action')
+ client.select(option=u'Delete selected empty models', name=u'action')
+ client.click(value=u'delete_selected')
+ client.click(name=u'index')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', value=u"Yes, I'm sure")
+ client.click(value=u"Yes, I'm sure")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Primary key = 2', timeout=u'8000')
+ client.click(link=u'Primary key = 2')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u'Delete', timeout=u'8000')
+ client.click(link=u'Delete')
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(timeout=u'8000', value=u"Yes, I'm sure")
+ client.click(value=u"Yes, I'm sure")
+ client.waits.forPageLoad(timeout=u'20000')
+ client.waits.forElement(link=u' Home ', timeout=u'8000')
+ client.click(link=u' Home ')
+ client.waits.forPageLoad(timeout=u'20000') \ No newline at end of file