예제 #1
0
 def test_getOne(self):
     request = self.get_csrf_request()
     request.context = self.sheet(request)
     line = request.context.lines[0]
     request.matchdict = {'lid':line.id}
     view = RestExpenseLine(request)
     self.assertEqual(view.getOne(), line)
     request.matchdict = {'lid':0}
     view = RestExpenseLine(request)
     self.assertRaises(RestError, view.getOne)
예제 #2
0
def test_get_line(dbsession, get_csrf_request_with_db, sheet, expensetype):
    request = get_csrf_request_with_db()
    request.context = sheet
    sheet.lines.append(ExpenseLine(tva=1960, ht=150, type_object=expensetype))
    dbsession.merge(sheet)
    dbsession.flush()
    line = request.context.lines[-1]
    request.matchdict = {'lid':line.id}
    view = RestExpenseLine(request)
    assert view.getOne() == line
    request.matchdict = {'lid':0}
    view = RestExpenseLine(request)
    with pytest.raises(RestError):
        view.getOne()
예제 #3
0
def test_post_line(get_csrf_request_with_db, sheet, expensetype):
    request = get_csrf_request_with_db()
    request.context = sheet
    appstruct = {'ht':'150.0',
                    'tva':'15',
                    'description':'Test',
                    'date':'2112-10-12',
                    'category':'1',
                    'type_id': expensetype.id}
    request.json_body = appstruct
    view = RestExpenseLine(request)
    view.post()
    line = sheet.lines[-1]
    assert line.tva == 1500
    assert line.ht == 15000
    assert line.date == date(2112, 10, 12)
    assert line.type_id == expensetype.id
    assert line.category == u"1"
    assert isinstance(line, ExpenseLine)
예제 #4
0
def test_post_line(get_csrf_request_with_db, sheet, expensetype):
    request = get_csrf_request_with_db()
    request.context = sheet
    appstruct = {'ht':'150.0',
                    'tva':'15',
                    'description':'Test',
                    'date':'2112-10-12',
                    'category':'1',
                    'type_id': expensetype.id}
    request.json_body = appstruct
    view = RestExpenseLine(request)
    view.post()
    line = sheet.lines[-1]
    assert line.tva == 1500
    assert line.ht == 15000
    assert line.date == date(2112, 10, 12)
    assert line.type_id == expensetype.id
    assert line.category == u"1"
    assert isinstance(line, ExpenseLine)
예제 #5
0
 def test_post(self):
     request = self.get_csrf_request()
     request.context = self.sheet(request)
     appstruct = {'ht':'150.0',
                  'tva':'15',
                  'description':'Test',
                  'date':'2112-10-12',
                  'category':'1',
                  'type_id':5}
     request.json_body = appstruct
     view = RestExpenseLine(request)
     view.post()
     sheet = self.sheet(request)
     line = sheet.lines[-1]
     self.assertEqual(line.tva, 1500)
     self.assertEqual(line.ht, 15000)
     self.assertEqual(line.date, date(2112, 10, 12))
     self.assertEqual(line.type_id, 5)
     self.assertEqual(line.category, u"1")
     self.assertTrue(isinstance(line, ExpenseLine))
예제 #6
0
def test_get_line(dbsession, get_csrf_request_with_db, sheet, expensetype):
    request = get_csrf_request_with_db()
    request.context = sheet
    sheet.lines.append(ExpenseLine(tva=1960, ht=150, type_object=expensetype))
    dbsession.merge(sheet)
    dbsession.flush()
    line = request.context.lines[-1]
    request.matchdict = {'lid': line.id}
    view = RestExpenseLine(request)
    assert view.getOne() == line
    request.matchdict = {'lid': 0}
    view = RestExpenseLine(request)
    with pytest.raises(RestError):
        view.getOne()