From b00c2d42dc32d1ff14c42d021624d1f3ac34bb89 Mon Sep 17 00:00:00 2001 From: idgserpro Date: Tue, 2 Jun 2015 15:25:28 -0300 Subject: [PATCH] Refatora testes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Adiciona novo Caso de Teste para usuários autenticados. - Remove código duplicado. --- .../gov/temas/tests/tests_funcionais.py | 183 +++++------------- 1 file changed, 50 insertions(+), 133 deletions(-) diff --git a/src/brasil/gov/temas/tests/tests_funcionais.py b/src/brasil/gov/temas/tests/tests_funcionais.py index 27f4b966..7204be4e 100644 --- a/src/brasil/gov/temas/tests/tests_funcionais.py +++ b/src/brasil/gov/temas/tests/tests_funcionais.py @@ -21,177 +21,94 @@ def setUp(self): Globals.DevelopmentMode = True self.portal = self.layer['portal'] self.settings = getUtility(IRegistry).forInterface(IThemeSettings) + self.browser = Browser(self.layer['app']) import transaction transaction.commit() - def login_browser(self, browser): - """Autentica usuário de teste no browser""" - browser.handleErrors = False - basic_auth = 'Basic {0}'.format( - '{0}:{1}'.format(SITE_OWNER_NAME, SITE_OWNER_PASSWORD) - ) - browser.addHeader('Authorization', basic_auth) - - def test_tema_verde(self): - theme = getTheme('verde') + def base_test(self, cor): + """Teste base dos temas""" + theme = getTheme(cor) applyTheme(theme) self.settings.enabled = True import transaction transaction.commit() - browser = Browser(self.layer['app']) - browser.open(self.portal.absolute_url()) + self.browser.open(self.portal.absolute_url()) # Acesso a Informacao deve estar disponivel - self.assertIn("acesso-a-infornacao.png", browser.contents) + self.assertIn("acesso-a-infornacao.png", self.browser.contents) # Removido logo do governo federal - self.assertIn("brasil.png", browser.contents) - - def test_tema_amarelo(self): - theme = getTheme('amarelo') - applyTheme(theme) - self.settings.enabled = True - import transaction - transaction.commit() - browser = Browser(self.layer['app']) - browser.open(self.portal.absolute_url()) + self.assertIn("brasil.png", self.browser.contents) - # Acesso a Informacao deve estar disponivel - self.assertIn("acesso-a-infornacao.png", browser.contents) + def test_tema_verde(self): + self.base_test('verde') - # Removido logo do governo federal - self.assertIn("brasil.png", browser.contents) + def test_tema_amarelo(self): + self.base_test('amarelo') def test_tema_branco(self): - theme = getTheme('branco') - applyTheme(theme) - self.settings.enabled = True - import transaction - transaction.commit() - browser = Browser(self.layer['app']) - browser.open(self.portal.absolute_url()) - - # Acesso a Informacao deve estar disponivel - self.assertIn("acesso-a-infornacao.png", browser.contents) - - # Removido logo do governo federal - self.assertIn("brasil.png", browser.contents) + self.base_test('branco') def test_tema_azul(self): - theme = getTheme('azul') - applyTheme(theme) - self.settings.enabled = True - import transaction - transaction.commit() - browser = Browser(self.layer['app']) - browser.open(self.portal.absolute_url()) + self.base_test('azul') - # Acesso a Informacao deve estar disponivel - self.assertIn("acesso-a-infornacao.png", browser.contents) - # Removido logo do governo federal - self.assertIn("brasil.png", browser.contents) +class AuthenticatedTestCase(unittest.TestCase): + """Teste funcionais com usuário autenticado""" - def test_tema_verde_autenticado(self): - theme = getTheme('verde') - applyTheme(theme) - self.settings.enabled = True - import transaction - transaction.commit() - browser = Browser(self.layer['app']) - self.login_browser(browser) - - # Testa se elementos do dashboard aparecem. - browser.open('{0}/dashboard'.format(self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('dashboard', browser.contents) - - # Testa se elementos da 'Informação Pessoal' aparecem. - browser.open('{0}/@@user-information?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Change your personal information', browser.contents) - - # Testa se elementos da 'Preferências Pessoais' aparecem. - browser.open('{0}/@@user-preferences?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Your personal settings', browser.contents) + layer = FUNCTIONAL_TESTING - def test_tema_amarelo_autenticado(self): - theme = getTheme('amarelo') - applyTheme(theme) - self.settings.enabled = True + def setUp(self): + Globals.DevelopmentMode = True + self.portal = self.layer['portal'] + self.settings = getUtility(IRegistry).forInterface(IThemeSettings) + self.browser = Browser(self.layer['app']) + self.login_browser() import transaction transaction.commit() - browser = Browser(self.layer['app']) - self.login_browser(browser) - # Testa se elementos do dashboard aparecem. - browser.open('{0}/dashboard'.format(self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('dashboard', browser.contents) - - # Testa se elementos da 'Informação Pessoal' aparecem. - browser.open('{0}/@@user-information?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Change your personal information', browser.contents) - - # Testa se elementos da 'Preferências Pessoais' aparecem. - browser.open('{0}/@@user-preferences?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Your personal settings', browser.contents) + def login_browser(self): + """Autentica usuário de teste no browser""" + self.browser.handleErrors = False + basic_auth = 'Basic {0}'.format( + '{0}:{1}'.format(SITE_OWNER_NAME, SITE_OWNER_PASSWORD) + ) + self.browser.addHeader('Authorization', basic_auth) - def test_tema_branco_autenticado(self): - theme = getTheme('branco') + def base_test(self, cor): + """Teste base dos temas""" + theme = getTheme(cor) applyTheme(theme) self.settings.enabled = True import transaction transaction.commit() - browser = Browser(self.layer['app']) - self.login_browser(browser) # Testa se elementos do dashboard aparecem. - browser.open('{0}/dashboard'.format(self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('dashboard', browser.contents) + self.browser.open('{0}/dashboard'.format(self.portal.absolute_url())) + self.assertIn('id="kssPortalMessage"', self.browser.contents) + self.assertIn('dashboard', self.browser.contents) # Testa se elementos da 'Informação Pessoal' aparecem. - browser.open('{0}/@@user-information?userid=admin'.format( + self.browser.open('{0}/@@user-information?userid=admin'.format( self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Change your personal information', browser.contents) + self.assertIn('id="kssPortalMessage"', self. browser.contents) + self.assertIn('Change your personal information', + self.browser.contents) # Testa se elementos da 'Preferências Pessoais' aparecem. - browser.open('{0}/@@user-preferences?userid=admin'.format( + self.browser.open('{0}/@@user-preferences?userid=admin'.format( self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Your personal settings', browser.contents) + self.assertIn('id="kssPortalMessage"', self.browser.contents) + self.assertIn('Your personal settings', self.browser.contents) - def test_tema_azul_autenticado(self): - theme = getTheme('azul') - applyTheme(theme) - self.settings.enabled = True - import transaction - transaction.commit() - browser = Browser(self.layer['app']) - self.login_browser(browser) + def test_tema_verde_autenticado(self): + self.base_test('verde') - # Testa se elementos do dashboard aparecem. - browser.open('{0}/dashboard'.format(self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('dashboard', browser.contents) + def test_tema_amarelo_autenticado(self): + self.base_test('amarelo') - # Testa se elementos da 'Informação Pessoal' aparecem. - browser.open('{0}/@@user-information?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Change your personal information', browser.contents) + def test_tema_branco_autenticado(self): + self.base_test('branco') - # Testa se elementos da 'Preferências Pessoais' aparecem. - browser.open('{0}/@@user-preferences?userid=admin'.format( - self.portal.absolute_url())) - self.assertIn('id="kssPortalMessage"', browser.contents) - self.assertIn('Your personal settings', browser.contents) + def test_tema_azul_autenticado(self): + self.base_test('azul')