Bug 1545236: Can't remove group if non-ascii in name
====================================================

When you try to delete a group, if the school year of the group was
created with a non-ascii title, you get an exception.

https://bugs.launchpad.net/bugs/1545236

We'll make sure that doesn't happen anymore.

Helper:

    >>> def print_groups(browser):
    ...     sel = 'table.data tbody tr'
    ...     for tr in browser.query_all.css(sel):
    ...         title, description = tr.query_all.tag('td')
    ...         print '%s, %s' % (title.query.tag('a').text, description.text)

Log in as manager:

    >>> manager = browsers.manager
    >>> manager.ui.login('manager', 'schooltool')

Create two school years, one with a non-ascii title:

    >>> manager.ui.schoolyear.add('2012', '2012-01-01', '2012-12-31')
    >>> manager.ui.schoolyear.add(u'Año2013', '2013-01-01', '2013-12-31')

Create two groups for each year:

    >>> manager.ui.group.add('2012', u'Matemáticas', description='es')
    >>> manager.ui.group.add('2012', 'Math', description='en')

    >>> manager.ui.group.add(u'Año2013', u'Matemáticas', description='es')
    >>> manager.ui.group.add(u'Año2013', 'Math', description='en')

Let's visit the 2012 groups:

    >>> manager.query.link('School').click()
    >>> manager.query.link('Groups').click()
    >>> print manager.query.css('.page .header h1').text
    Groups for 2012
    >>> print_groups(manager)
    Clerks,
    Matemáticas, es
    Math, en
    School Administrators,
    Site Managers,
    Students,
    Teachers,

And delete one:

    >>> manager.query.link('Matemáticas').click()
    >>> manager.query.link('Delete').click()
    >>> dialog = manager.query.css('.ui-dialog')
    >>> manager.wait_page(dialog.query.button('Delete').click)
    >>> manager.url
    u'http://localhost/groups?schoolyear_id=2012'
    >>> print manager.query.css('.page .header h1').text
    Groups for 2012
    >>> print_groups(manager)
    Clerks,
    Math, en
    School Administrators,
    Site Managers,
    Students,
    Teachers,

Let's visit the 2013 groups:

    >>> manager.query.link('School').click()
    >>> manager.query.link('Groups').click()
    >>> manager.query.link('Año2013').click()
    >>> print manager.query.css('.page .header h1').text
    Groups for Año2013
    >>> print_groups(manager)
    Clerks,
    Matemáticas, es
    Math, en
    School Administrators,
    Site Managers,
    Students,
    Teachers,

And delete one:

    >>> manager.query.link('Math').click()
    >>> manager.query.link('Delete').click()
    >>> dialog = manager.query.css('.ui-dialog')
    >>> manager.wait_page(dialog.query.button('Delete').click)
    >>> manager.url
    u'http://localhost/groups?schoolyear_id=A%C3%B1o2013'
    >>> print manager.query.css('.page .header h1').text
    Groups for Año2013
    >>> print_groups(manager)
    Clerks,
    Matemáticas, es
    School Administrators,
    Site Managers,
    Students,
    Teachers,
