3 |
3 |
import os
|
4 |
4 |
import re
|
5 |
5 |
import StringIO
|
|
6 |
import time
|
6 |
7 |
import zipfile
|
7 |
8 |
from webtest import Upload
|
8 |
9 |
|
... | ... | |
1505 |
1506 |
|
1506 |
1507 |
resp = login(get_app(pub), username='foo', password='foo').get('/test/')
|
1507 |
1508 |
assert resp.forms[0]['f0'].value == 'foo@localhost'
|
|
1509 |
|
|
1510 |
def test_form_date_field_submit(pub):
|
|
1511 |
formdef = create_formdef()
|
|
1512 |
formdef.fields = [fields.DateField(id='0', label='string', type='date',
|
|
1513 |
required=False)]
|
|
1514 |
formdef.store()
|
|
1515 |
resp = get_app(pub).get('/test/')
|
|
1516 |
formdef.data_class().wipe()
|
|
1517 |
resp.forms[0]['f0'] = '2015-01-01'
|
|
1518 |
resp = resp.forms[0].submit('submit')
|
|
1519 |
assert 'Check values then click submit.' in resp.body
|
|
1520 |
resp = resp.forms[0].submit('submit')
|
|
1521 |
assert resp.status_int == 302
|
|
1522 |
resp = resp.follow()
|
|
1523 |
assert 'The form has been recorded' in resp.body
|
|
1524 |
assert formdef.data_class().count() == 1
|
|
1525 |
data_id = formdef.data_class().select()[0].id
|
|
1526 |
data = formdef.data_class().get(data_id)
|
|
1527 |
assert time.strftime('%Y-%m-%d', data.data['0']) == '2015-01-01'
|
|
1528 |
|
|
1529 |
# without filling the field
|
|
1530 |
resp = get_app(pub).get('/test/')
|
|
1531 |
formdef.data_class().wipe()
|
|
1532 |
resp = resp.forms[0].submit('submit')
|
|
1533 |
assert 'Check values then click submit.' in resp.body
|
|
1534 |
resp = resp.forms[0].submit('submit')
|
|
1535 |
assert resp.status_int == 302
|
|
1536 |
resp = resp.follow()
|
|
1537 |
assert 'The form has been recorded' in resp.body
|
|
1538 |
assert formdef.data_class().count() == 1
|
|
1539 |
data_id = formdef.data_class().select()[0].id
|
|
1540 |
data = formdef.data_class().get(data_id)
|
|
1541 |
assert data.data['0'] is None
|
|
1542 |
|
|
1543 |
def test_form_string_regex_field_submit(pub):
|
|
1544 |
formdef = create_formdef()
|
|
1545 |
formdef.fields = [fields.StringField(id='0', label='string', type='string',
|
|
1546 |
validation=r'\d{5}$', required=False)]
|
|
1547 |
formdef.store()
|
|
1548 |
|
|
1549 |
formdef.data_class().wipe()
|
|
1550 |
resp = get_app(pub).get('/test/')
|
|
1551 |
resp.forms[0]['f0'] = '12345'
|
|
1552 |
resp = resp.forms[0].submit('submit')
|
|
1553 |
assert 'Check values then click submit.' in resp.body
|
|
1554 |
resp = resp.forms[0].submit('submit')
|
|
1555 |
assert resp.status_int == 302
|
|
1556 |
resp = resp.follow()
|
|
1557 |
assert 'The form has been recorded' in resp.body
|
|
1558 |
assert formdef.data_class().count() == 1
|
|
1559 |
data_id = formdef.data_class().select()[0].id
|
|
1560 |
data = formdef.data_class().get(data_id)
|
|
1561 |
assert data.data['0'] == '12345'
|
|
1562 |
|
|
1563 |
# without filling the field
|
|
1564 |
formdef.data_class().wipe()
|
|
1565 |
resp = get_app(pub).get('/test/')
|
|
1566 |
resp = resp.forms[0].submit('submit')
|
|
1567 |
assert 'Check values then click submit.' in resp.body
|
|
1568 |
resp = resp.forms[0].submit('submit')
|
|
1569 |
assert resp.status_int == 302
|
|
1570 |
resp = resp.follow()
|
|
1571 |
assert 'The form has been recorded' in resp.body
|
|
1572 |
assert formdef.data_class().count() == 1
|
|
1573 |
data_id = formdef.data_class().select()[0].id
|
|
1574 |
data = formdef.data_class().get(data_id)
|
|
1575 |
assert data.data['0'] == ''
|
|
1576 |
|
|
1577 |
# with an invalid input
|
|
1578 |
formdef.data_class().wipe()
|
|
1579 |
resp = get_app(pub).get('/test/')
|
|
1580 |
resp.forms[0]['f0'] = 'foobar'
|
|
1581 |
resp = resp.forms[0].submit('submit')
|
|
1582 |
assert 'wrong format' in resp.body
|
|
1583 |
|
|
1584 |
def test_form_text_field_submit(pub):
|
|
1585 |
formdef = create_formdef()
|
|
1586 |
formdef.fields = [fields.TextField(id='0', label='string', type='text', required=False)]
|
|
1587 |
formdef.store()
|
|
1588 |
|
|
1589 |
formdef.data_class().wipe()
|
|
1590 |
resp = get_app(pub).get('/test/')
|
|
1591 |
resp.forms[0]['f0'] = '12345'
|
|
1592 |
resp = resp.forms[0].submit('submit')
|
|
1593 |
assert 'Check values then click submit.' in resp.body
|
|
1594 |
resp = resp.forms[0].submit('submit')
|
|
1595 |
assert resp.status_int == 302
|
|
1596 |
resp = resp.follow()
|
|
1597 |
assert 'The form has been recorded' in resp.body
|
|
1598 |
assert formdef.data_class().count() == 1
|
|
1599 |
data_id = formdef.data_class().select()[0].id
|
|
1600 |
data = formdef.data_class().get(data_id)
|
|
1601 |
assert data.data['0'] == '12345'
|
|
1602 |
|
|
1603 |
# without filling the field
|
|
1604 |
formdef.data_class().wipe()
|
|
1605 |
resp = get_app(pub).get('/test/')
|
|
1606 |
resp = resp.forms[0].submit('submit')
|
|
1607 |
assert 'Check values then click submit.' in resp.body
|
|
1608 |
resp = resp.forms[0].submit('submit')
|
|
1609 |
assert resp.status_int == 302
|
|
1610 |
resp = resp.follow()
|
|
1611 |
assert 'The form has been recorded' in resp.body
|
|
1612 |
assert formdef.data_class().count() == 1
|
|
1613 |
data_id = formdef.data_class().select()[0].id
|
|
1614 |
data = formdef.data_class().get(data_id)
|
|
1615 |
assert data.data['0'] is None
|