source: products/quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/README.txt @ 2642

Last change on this file since 2642 was 2642, checked in by liebster, 14 years ago

Initial package import

File size: 1.9 KB
Line 
1Introduction
2============
3
4This is a full-blown functional test. The emphasis here is on testing what
5the user may input and see, and the system is largely tested as a black box.
6We use PloneTestCase to set up this test as well, so we have a full Plone site
7to play with. We *can* inspect the state of the portal, e.g. using
8self.portal and self.folder, but it is often frowned upon since you are not
9treating the system as a black box. Also, if you, for example, log in or set
10roles using calls like self.setRoles(), these are not reflected in the test
11browser, which runs as a separate session.
12
13Being a doctest, we can tell a story here.
14
15First, we must perform some setup. We use the testbrowser that is shipped
16with Five, as this provides proper Zope 2 integration. Most of the
17documentation, though, is in the underlying zope.testbrower package.
18
19    >>> from Products.Five.testbrowser import Browser
20    >>> browser = Browser()
21    >>> portal_url = self.portal.absolute_url()
22
23The following is useful when writing and debugging testbrowser tests. It lets
24us see all error messages in the error_log.
25
26    >>> self.portal.error_log._ignored_exceptions = ()
27
28With that in place, we can go to the portal front page and log in. We will
29do this using the default user from PloneTestCase:
30
31    >>> from Products.PloneTestCase.setup import portal_owner, default_password
32
33    >>> browser.open(portal_url)
34
35We have the login portlet, so let's use that.
36
37    >>> browser.getControl(name='__ac_name').value = portal_owner
38    >>> browser.getControl(name='__ac_password').value = default_password
39    >>> browser.getControl(name='submit').click()
40
41Here, we set the value of the fields on the login form and then simulate a
42submit click.
43
44We then test that we are still on the portal front page:
45
46    >>> browser.url == portal_url
47    True
48
49And we ensure that we get the friendly logged-in message:
50
51    >>> "You are now logged in" in browser.contents
52    True
53
54
55-*- extra stuff goes here -*-
56
Note: See TracBrowser for help on using the repository browser.