def test_owner_can_remove_participants(self, browser):
        hugo = create(Builder('user')
                      .named('Hugo', 'Boss')
                      .with_roles('Reader', on=self.folder))
        hugos_name = u'Boss Hugo ([email protected])'

        browser.login(self.john.getId()).visit(self.folder,
                                               view='participants')
        self.assertIn(hugos_name, participants_view.users_column())

        browser.fill({'userids:list': [hugo.getId()]})
        browser.find('Delete Participants').click()
        self.assertNotIn(hugos_name, participants_view.users_column())
    def test_user_with_umlaut_and_no_email_is_working(self, browser):
        fraenzi = create(Builder('user')
                         .named('Fr\xc3\xa4nzi', 'M\xc3\xbcller')
                         .with_roles('Reader', on=self.folder))
        fraenzi.setMemberProperties({'email': ''})
        transaction.commit()

        browser.login().visit(self.folder, view='participants')
        self.assertEquals([u'Doe John ([email protected])',
                           u'M\xfcLler Fr\xe4Nzi'],
                          participants_view.users_column())
    def test_user_sorting_works_with_umlauts_in_names(self, browser):
        fraenzi = create(Builder('user')
                         .named('Fr\xc3\xa4nzi', 'M\xc3\xbcller')
                         .with_roles('Reader', on=self.folder))

        juergen = create(Builder('user')
                         .named('J\xc3\xbcrgen', 'R\xc3\xbcegsegger'))

        create(Builder('invitation')
               .inviting(juergen)
               .to(self.folder)
               .invited_by(fraenzi))

        browser.login().visit(self.folder, view='participants')
        self.assertEquals([u'Doe John ([email protected])',
                           u'*****@*****.**',
                           u'M\xfcLler Fr\xe4Nzi ([email protected])'],
                          participants_view.users_column())