You need to populate the matchdict manually.  Add this to your code:

req.matchdict['templateid'] = 1

Pyramid doesn't actually route the URL, so the matchdict isn't populated.

On Fri, Jun 22, 2012 at 2:10 PM, Toni Mueller <[email protected]> wrote:

>
> Hi,
>
> I want to test a view, but the matchdict doesn't get set up. The
> application works when I use it via a web browser.
>
>
> The route configuration:
>
>    config.add_route('newsletter_create_issue',
> '%s/createissue/{templateid}' % root_path)
>
>
> In the test case (the test suite is set up with their own registry):
>
>    def test_getting_an_issue_list(self):
>        from pyramid import request
>        # the same code is in the route configuration, with the number being
>        # a parameter in that view:
>        path = '/' + root_path + '/createissue/1'
>        req = request.Request.blank(path)
>        req.registry = self.config.registry
>        # The following bails out, due to the code shown below:
>        result = getNewsletterIssues(req, 1) # BOOM!
>
>
> def getNewsletterIssues(request, id_):
>    ...
>    tid = int(request.matchdict['templateid'])
>
>
> The traceback:
>
> ...
>    tid = int(request.matchdict['templateid'])
> TypeError: 'NoneType' object is unsubscriptable
>
>
> What am I doing wrong?
>
> TIA!
>
>
>
> Kind regards,
> --Toni++
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to