def test_estimation_payment_lines():
    schema = get_add_edit_estimation_schema(includes=('payment_lines',))
    schema = schema.bind()

    value = {'payment_lines': []}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {'payment_lines': [
        {
            'task_id': 5,
            'date': datetime.date.today().isoformat(),
            'amount': 12.5,
            'description': u"Description"
        }
    ]}
    expected_value = {
        'payment_lines': [
            {
                'task_id': 5,
                'date': datetime.date.today(),
                'amount': 1250000,
                'description': u"Description",
                'order': 1
            }
        ]
    }
    assert schema.deserialize(value) == expected_value
Beispiel #2
0
def test_estimation_payment_lines():
    schema = get_add_edit_estimation_schema(includes=('payment_lines', ))
    schema = schema.bind()

    value = {'payment_lines': []}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {
        'payment_lines': [{
            'task_id': 5,
            'date': datetime.date.today().isoformat(),
            'amount': 12.5,
            'description': u"Description"
        }]
    }
    expected_value = {
        'payment_lines': [{
            'task_id': 5,
            'date': datetime.date.today(),
            'amount': 1250000,
            'description': u"Description",
            'order': 1
        }]
    }
    assert schema.deserialize(value) == expected_value
    def get_schema(self, submitted):
        """
        Return the schema for Estimation add/edition

        :param dict submitted: The submitted datas
        :returns: A colander.Schema
        """
        excludes = ('status', 'children', 'parent',)
        return get_add_edit_estimation_schema(excludes=excludes)
def test_estimation_signed_status():
    schema = get_add_edit_estimation_schema(includes=('signed_status',))
    schema = schema.bind()

    value = {'signed_status': u"signed"}
    assert schema.deserialize(value) == value

    value = {'signed_status': u"error"}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
Beispiel #5
0
def test_estimation_signed_status():
    schema = get_add_edit_estimation_schema(includes=('signed_status', ))
    schema = schema.bind()

    value = {'signed_status': u"signed"}
    assert schema.deserialize(value) == value

    value = {'signed_status': u"error"}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
Beispiel #6
0
    def get_schema(self, submitted):
        """
        Return the schema for Estimation add/edition

        :param dict submitted: The submitted datas
        :returns: A colander.Schema
        """
        excludes = (
            'status',
            'children',
            'parent',
        )
        return get_add_edit_estimation_schema(excludes=excludes)
def test_estimation_paymentDisplay():
    schema = get_add_edit_estimation_schema(includes=('paymentDisplay',))
    schema = schema.bind()

    value = {'paymentDisplay': u'SUMMARY'}
    assert schema.deserialize(value) == value

    value = {}
    assert schema.deserialize(value) == {'paymentDisplay': u'NONE'}

    value = {'paymentDisplay': u'ERROR'}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
Beispiel #8
0
def test_estimation_paymentDisplay():
    schema = get_add_edit_estimation_schema(includes=('paymentDisplay', ))
    schema = schema.bind()

    value = {'paymentDisplay': u'SUMMARY'}
    assert schema.deserialize(value) == value

    value = {}
    assert schema.deserialize(value) == {'paymentDisplay': u'NONE'}

    value = {'paymentDisplay': u'ERROR'}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
def test_estimation_deposit():
    schema = get_add_edit_estimation_schema(includes=('deposit',))
    schema = schema.bind()

    value = {'deposit': 15}
    assert schema.deserialize(value) == value

    value = {'deposit': 150}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {'deposit': -1}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
Beispiel #10
0
def test_estimation_deposit():
    schema = get_add_edit_estimation_schema(includes=('deposit', ))
    schema = schema.bind()

    value = {'deposit': 15}
    assert schema.deserialize(value) == value

    value = {'deposit': 150}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)

    value = {'deposit': -1}
    with pytest.raises(colander.Invalid):
        schema.deserialize(value)
Beispiel #11
0
class EstimationAdminView(BaseEditView):
    factory = Estimation
    schema = get_add_edit_estimation_schema(isadmin=True)
def test_estimation(
    config, unity, tva, product, request_with_config, estimation
):
    schema = get_add_edit_estimation_schema()
    config.testing_securitypolicy(
        userid="test",
        groupids=('admin',),
        permissive=True
    )

    request_with_config.context = estimation
    schema = schema.bind(request=request_with_config)

    value = {
        "name": u"Devis 1",
        'date': datetime.date.today().isoformat(),
        'address': u"adress",
        "description": u"description",
        "paymentDisplay": u"SUMMARY",
        "payment_conditions": u"Réception de facture",
        "deposit": 5,
        "signed_status": "signed",
        'line_groups': [
            {
                'task_id': 5,
                'title': u"title",
                'description': u"description",
                "order": 5,
                'lines': [
                    {
                        'cost': 15,
                        'tva': 20,
                        'description': u'description',
                        'unity': u"Mètre",
                        "quantity": 5,
                        "order": 2,
                        "product_id": product.id
                    }
                ]
            }
        ],
        'payment_lines': [
            {
                'task_id': 5,
                'date': datetime.date.today().isoformat(),
                'amount': 12.5,
                'description': u"Description",
                "order": 8
            }
        ],
    }
    expected_value = {
        "name": u"Devis 1",
        'date': datetime.date.today(),
        'address': u"adress",
        "description": u"description",
        "paymentDisplay": u"SUMMARY",
        "deposit": 5,
        "signed_status": "signed",
        'line_groups': [
            {
                'task_id': 5,
                'title': u"title",
                'description': u"description",
                "order": 5,
                'lines': [
                    {
                        'cost': 1500000,
                        'tva': 2000,
                        'description': u'description',
                        'unity': u"Mètre",
                        "quantity": 5.0,
                        "order": 2,
                        "product_id": product.id
                    }
                ]
            }
        ],
        'payment_lines': [
            {
                'task_id': 5,
                'date': datetime.date.today(),
                'amount': 1250000,
                'description': u"Description",
                "order": 8
            }
        ],
    }
    # Check those values are valid
    result = schema.deserialize(value)
    for key, value in expected_value.items():
        assert result[key] == value
Beispiel #13
0
def test_estimation(config, unity, tva, product, request_with_config,
                    estimation):
    schema = get_add_edit_estimation_schema()
    config.testing_securitypolicy(userid="test",
                                  groupids=('admin', ),
                                  permissive=True)

    request_with_config.context = estimation
    schema = schema.bind(request=request_with_config)

    value = {
        "name":
        u"Devis 1",
        'date':
        datetime.date.today().isoformat(),
        'address':
        u"adress",
        "description":
        u"description",
        "paymentDisplay":
        u"SUMMARY",
        "payment_conditions":
        u"Réception de facture",
        "deposit":
        5,
        "signed_status":
        "signed",
        'line_groups': [{
            'task_id':
            5,
            'title':
            u"title",
            'description':
            u"description",
            "order":
            5,
            'lines': [{
                'cost': 15,
                'tva': 20,
                'description': u'description',
                'unity': u"Mètre",
                "quantity": 5,
                "order": 2,
                "product_id": product.id
            }]
        }],
        'payment_lines': [{
            'task_id': 5,
            'date': datetime.date.today().isoformat(),
            'amount': 12.5,
            'description': u"Description",
            "order": 8
        }],
    }
    expected_value = {
        "name":
        u"Devis 1",
        'date':
        datetime.date.today(),
        'address':
        u"adress",
        "description":
        u"description",
        "paymentDisplay":
        u"SUMMARY",
        "deposit":
        5,
        "signed_status":
        "signed",
        'line_groups': [{
            'task_id':
            5,
            'title':
            u"title",
            'description':
            u"description",
            "order":
            5,
            'lines': [{
                'cost': 1500000,
                'tva': 2000,
                'description': u'description',
                'unity': u"Mètre",
                "quantity": 5.0,
                "order": 2,
                "product_id": product.id
            }]
        }],
        'payment_lines': [{
            'task_id': 5,
            'date': datetime.date.today(),
            'amount': 1250000,
            'description': u"Description",
            "order": 8
        }],
    }
    # Check those values are valid
    result = schema.deserialize(value)
    for key, value in expected_value.items():
        assert result[key] == value