Skip to content

Prevent "Saved data" view from raising an exception if a field is not found#382

Open
frapell wants to merge 1 commit into
3.xfrom
frapell-fix-save-data
Open

Prevent "Saved data" view from raising an exception if a field is not found#382
frapell wants to merge 1 commit into
3.xfrom
frapell-fix-save-data

Conversation

@frapell

@frapell frapell commented Nov 24, 2022

Copy link
Copy Markdown
Member

fixes gh-381

@frapell frapell requested a review from MrTango November 24, 2022 18:59
@frapell frapell requested a review from fredvd December 14, 2022 19:35

@fredvd fredvd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@frapell Looks good to me. But can we add a test for this? I think we can just duplicate the test linked below and add a "stalefield" to the test at saver.showFields = assignment. With your fix it should no longer crash.

def testSaverDataFormShowFields(self):
"""test saver data form show fields"""
self.createSaver()
self.assertTrue("saver" in get_actions(self.ff1))
saver = get_actions(self.ff1)["saver"]
self.assertEqual(saver.itemsSaved(), 0)
request = FakeRequest(
topic="test subject", replyto="test@test.org", comments="test comments"
)
saver.showFields = ("topic", "comments")
saver.onSuccess(request.form, request)
view = self.ff1.restrictedTraverse("@@actions")
view = view.publishTraverse(view.request, "saver")
view = view.publishTraverse(view.request, "data")
view.update()
form = view.form_instance
message = form.description()
self.assertEqual(message.mapping, {"items": 1})
item = form.get_items()[0]
self.assertEqual(item[1]["id"], item[0])
self.assertEqual(item[1]["topic"], "test subject")
self.assertEqual(item[1]["comments"], "test comments")
self.assertTrue("replyto" not in item[1])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants