feat: add basic Create support for CRUD master view
This commit is contained in:
parent
c46b42f76d
commit
73014964cb
10 changed files with 307 additions and 45 deletions
|
@ -1,5 +1,7 @@
|
|||
# -*- coding: utf-8; -*-
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from tests.views.utils import WebTestCase
|
||||
|
||||
from pyramid.httpexceptions import HTTPNotFound
|
||||
|
@ -66,6 +68,14 @@ class TestSettingView(WebTestCase):
|
|||
title = view.get_instance_title(setting)
|
||||
self.assertEqual(title, 'foo')
|
||||
|
||||
def test_configure_form(self):
|
||||
view = self.make_view()
|
||||
form = view.make_form(fields=view.get_form_fields())
|
||||
self.assertNotIn('value', form.required_fields)
|
||||
view.configure_form(form)
|
||||
self.assertIn('value', form.required_fields)
|
||||
self.assertFalse(form.required_fields['value'])
|
||||
|
||||
def test_persist(self):
|
||||
model = self.app.model
|
||||
view = self.make_view()
|
||||
|
@ -82,6 +92,14 @@ class TestSettingView(WebTestCase):
|
|||
self.assertEqual(self.session.query(model.Setting).count(), 1)
|
||||
self.assertEqual(self.app.get_setting(self.session, 'foo'), 'frazzle')
|
||||
|
||||
# new setting is created
|
||||
self.request.matchdict = {}
|
||||
with patch.object(view, 'creating', new=True):
|
||||
view.persist({'name': 'foo', 'value': 'frazzle'}, session=self.session)
|
||||
self.session.commit()
|
||||
self.assertEqual(self.session.query(model.Setting).count(), 1)
|
||||
self.assertEqual(self.app.get_setting(self.session, 'foo'), 'frazzle')
|
||||
|
||||
def test_delete_instance(self):
|
||||
model = self.app.model
|
||||
view = self.make_view()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue