__author__ = 'corpu'

from lettuce import step, world
import webtest

class RegisterFieldSteps():

    #Background steps
    @step(u'Dado que la aplicacion ACL esta en "([^"]*)"')
    def dado_que_la_aplicacion_acl_esta_en_group1(step, url):
        world.webApp = webtest.TestApp(url)

    @step(u'Cuando accedo a la misma')
    def cuando_accedo_a_la_misma(step):
        world.response = world.webApp.get('/')

    # Opcion de registracion disponible
    @step(u'Entonces debe aparecer en pantalla la opcion de registracion')
    def entonces_debe_aparecer_en_pantalla_la_opcion_de_registracion(step):
        dom = str(world.response.html)
        assert dom.__contains__('<li><a href="/register/" id="register_btn">Register</a></li>') is True

    # Campos disponibles para registrarse
    @step(u'Entonces deben aparecer los campos de "([^"]*)", "([^"]*)", "([^"]*)"')
    def entonces_deben_aparecer_los_campos_de_group1_group2_group3(step, email_label, pass1_label, pass2_label):
        world.register_response = world.webApp.get('/register/')
        world.dom = str(world.register_response.body)

        assert world.dom.__contains__(email_label)
        assert world.dom.__contains__('<input class="form-control" id="email" name="email" placeholder="Email address" type="text" value="">')

        assert world.dom.__contains__(pass1_label)
        assert world.dom.__contains__('<input class="form-control" id="password" name="password" placeholder="Password" type="password" value="">')

        assert world.dom.__contains__(pass2_label)
        assert world.dom.__contains__('<input class="form-control" id="password2" name="password2" placeholder="Repeat password" type="password" value="">')

    @step(u'Y el boton "([^"]*)" para realizar la registracion')
    def y_el_boton_group1_para_realizar_la_registracion(step, register_button):
        assert world.dom.__contains__(register_button)
        assert world.dom.__contains__('<button type="submit" class="btn btn-success">Register</button>')