Ejemplo n.º 1
0
def test_create_deptor(db, wd):
    deptor = fixtures.DEPTOR.copy()
    deptor_key = deptor.pop('key')

    wd.auth()
    util.click_button_by_id(wd, 'Kontakter')
    util.click_button_by_id(wd, 'newDeptor')
    util.form_fill_by_css_selector(wd, '.bootbox .bootbox-input', deptor_key)
    util.click_button_by_css_selector(wd, '.bootbox .btn-primary')

    for key, value in deptor.iteritems():
        if key in ['primary_emails', 'secondary_emails']:
            for val in value:
                elem = wd.find_elements_by_css_selector(
                    '.add-list-{}'.format(key))[0]
                util.fill_xeditable_field(wd, elem, val)
        elif key in ['gln_group']:
            all_options = wd.find_elements_by_tag_name("option")
            for option in all_options:
                o_value = option.get_attribute("value")
                print "Value is: %s" % o_value
                if o_value == value:
                    option.click()

        else:
            elem = wd.find_element_by_id(key)
            util.fill_xeditable_field(wd, elem, value)

    d = db.deptors.find_one({'key': deptor_key})
    assert d

    for key, value in deptor.iteritems():
        assert d[key] == value
Ejemplo n.º 2
0
def test_create_deptor(db, wd):
    deptor = fixtures.DEPTOR.copy()
    deptor_key = deptor.pop('key')

    wd.auth()
    util.click_button_by_id(wd, 'Kontakter')
    util.click_button_by_id(wd, 'newDeptor')
    util.form_fill_by_css_selector(wd, '.bootbox .bootbox-input', deptor_key)
    util.click_button_by_css_selector(wd, '.bootbox .btn-primary')

    for key, value in deptor.iteritems():
        if key in ['primary_emails', 'secondary_emails']:
            for val in value:
                elem = wd.find_elements_by_css_selector('.add-list-{}'.format(key))[0]
                util.fill_xeditable_field(wd, elem, val)
        elif key in ['gln_group']:
            all_options = wd.find_elements_by_tag_name("option")
            for option in all_options:
                o_value = option.get_attribute("value")
                print "Value is: %s" % o_value
                if o_value == value:
                    option.click()

        else:
            elem = wd.find_element_by_id(key)
            util.fill_xeditable_field(wd, elem, value)

    d = db.deptors.find_one({'key': deptor_key})
    assert d

    for key, value in deptor.iteritems():
        assert d[key] == value
Ejemplo n.º 3
0
def real_auth(wd):
    wd.goto('')
    wd.delete_all_cookies()
    util.form_fill_by_id(wd, 'login-email', 'test')
    util.form_fill_by_id(wd, 'login-password', 'test')
    util.click_button_by_id(wd, 'login-button')
    # make sure login is done before returning
    test = wd.find_element_by_id('logout-dropdown')
Ejemplo n.º 4
0
def insert_invoice(wd, db):
    wd.auth()
    db.sale.insert(fixtures.INVOICE)
    util.click_button_by_id(wd, 'Salg')
    util.form_fill_by_id(wd, 'search-query', fixtures.INVOICE['key'])
    elems = wd.find_elements_by_class_name("edi-button")
    assert len(elems) == 1, 'wrong number of elements after search'
    red_buttons = wd.find_elements_by_class_name("btn-danger")
    assert len(red_buttons) == 0, 'no red buttons should be present'
    elems[0].click()

    util.click_button_by_css_selector(wd, '.bootbox .btn-primary')
Ejemplo n.º 5
0
def test_quick_gln_correct_disappear(db, wd):
    wd.auth()
    item = fixtures.ITEM.copy()
    item.pop('gln_number')
    db.items.insert(item)
    util.click_button_by_id(wd, 'Varer')
    util.click_button_by_id(wd, 'quick-gln')
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 1, 'expected one element without gln'
    db.items.update({'key': item['key']}, {'gln_number': '1234'})
    time.sleep(1)
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 0, 'expected item to be gone'
def test_disappear(db, wd):
    wd.auth()
    invoice = fixtures.INVOICE.copy()
    invoice.pop('customer_order_number')
    db.sale.insert(invoice)
    util.click_button_by_id(wd, 'Salg')
    util.click_button_by_id(wd, 'customer-order-number')
    elems = wd.find_elements_by_class_name("edit-field")
    assert len(elems) == 1, 'expected one element without customer_order_number'

    inv = db.sale.update({ 'key': invoice['key'] }, {'customer_order_number': 123})
    time.sleep(1)
    elems = wd.find_elements_by_class_name("edit-field")
    assert len(elems) == 0, 'expected invoice to be gone no'
Ejemplo n.º 7
0
def test_login_logout(db, wd):
    wd.auth()
    util.click_button_by_id(wd, 'logout-dropdown')
    util.click_button_by_id(wd, 'logout')
    wd.real_auth()
    util.click_button_by_id(wd, 'logout-dropdown')
    util.click_button_by_id(wd, 'logout')
    elem = wd.find_element_by_xpath("//h1")
    assert elem.text == 'Log ind'
Ejemplo n.º 8
0
def test_create_item(db, wd):
    item = fixtures.ITEM.copy()
    item_key = item.pop('key')

    wd.auth()
    util.click_button_by_id(wd, 'Varer')
    util.click_button_by_id(wd, 'newItem')
    util.form_fill_by_css_selector(wd, '.bootbox .bootbox-input', item_key)
    util.click_button_by_css_selector(wd, '.bootbox .btn-primary')

    for key, value in item.iteritems():
        elem = wd.find_element_by_id(key)
        util.fill_xeditable_field(wd, elem, value)

    i = db.items.find_one({'key': item_key})
    assert i

    for key, value in item.iteritems():
        assert i[key] == value
Ejemplo n.º 9
0
def test_quick_gln_copy_ean(db, wd):
    wd.auth()
    item1 = fixtures.ITEM1.copy()
    db.items.insert(item1)
    item = fixtures.ITEM.copy()
    item.pop('gln_number')
    db.items.insert(item)
    util.click_button_by_id(wd, 'Varer')
    util.click_button_by_id(wd, 'quick-gln')
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 1, 'expected one element without gln'
    util.click_button_by_css_selector(wd, ".copy-ean")

    # assert that the value has been updated
    item = db.items.find_one({ 'key': item['key']})
    assert item['gln_number'] == item['ean']

    # assert that the element is not present anymore
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 0, 'expected no'
Ejemplo n.º 10
0
def test_create_item(db, wd):
    item = fixtures.ITEM.copy()
    item_key = item.pop('key')

    wd.auth()
    util.click_button_by_id(wd, 'Varer')
    util.click_button_by_id(wd, 'newItem')
    util.form_fill_by_css_selector(wd, '.bootbox .bootbox-input', item_key)
    util.click_button_by_css_selector(wd, '.bootbox .btn-primary')


    for key, value in item.iteritems():
        elem = wd.find_element_by_id(key)
        util.fill_xeditable_field(wd, elem, value)

    i = db.items.find_one({'key': item_key})
    assert i

    for key, value in item.iteritems():
        assert i[key] == value
Ejemplo n.º 11
0
def test_quick_gln_update(db, wd):
    wd.auth()
    item1 = fixtures.ITEM1.copy()
    db.items.insert(item1)
    item = fixtures.ITEM.copy()
    item.pop('gln_number')
    db.items.insert(item)
    util.click_button_by_id(wd, 'Varer')
    util.click_button_by_id(wd, 'quick-gln')
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 1, 'expected one element without gln'
    elems[0] = wd.find_elements_by_class_name("copy-ean")
    editables = wd.find_elements_by_css_selector('.edit-field')
    gln_number = '1234'
    util.fill_xeditable_field(wd, editables[0], gln_number);
    elems = wd.find_elements_by_class_name("copy-ean")
    assert len(elems) == 0, 'expected no'


    # assert that the value has been updated
    item = db.items.find_one({ 'key': item['key'] })
    assert item['gln_number'] == gln_number
def test_update(db, wd):
    wd.auth()
    invoice = fixtures.INVOICE.copy()
    db.sale.insert(invoice)
    invoice1 = fixtures.INVOICE1.copy()
    invoice1.pop('customer_order_number')
    db.sale.insert(invoice1)
    util.click_button_by_id(wd, 'Salg')
    util.click_button_by_id(wd, 'customer-order-number')
    time.sleep(1)
    elems = wd.find_elements_by_class_name("edit-field")
    assert len(elems) == 1, 'expected one element without customer_order_number'
    #elems[0] = wd.find_elements_by_class_name("copy-ean")
    editables = wd.find_elements_by_css_selector('.edit-field')
    customer_order_number = '1234'
    util.fill_xeditable_field(wd, editables[0], customer_order_number);
    elems = wd.find_elements_by_class_name(".edit_field")
    assert len(elems) == 0, 'expected no'


    # assert that the value has been updated
    inv = db.sale.find_one({ 'key': invoice1['key'] })
    assert inv['customer_order_number'] == customer_order_number