Esempio n. 1
0
    def test_queryset_render_testmodel_no_kwargs(self):
        """Tests that querysets can be rendered without kwargs.

        Takes our own test model and xmlify it with no kwargs causing
        it's own __xml__ method to be used to render the XML.
        """
        tmpl = BLANK % """
        <xsl:copy-of select="xdjango:foo%d()"/>
        """ % self.time
        transformer = xslt.Transformer(tmpl)
        
        from models import XSLTTestModel
        testobject = XSLTTestModel(
            name = "name%s" % self.time,
            about = "about%s" % self.time,
            count = 10
            )
        testobject.save()

        # Do the query and pull back the xml
        xml = XSLTTestModel.objects.filter(
            name="name%s" % self.time
            )

        xmlified = xsltmanagers.xmlify(xml, use_values=False)

        c = Context({ 'foo%d' % self.time: xmlified })
        res = transformer(context=c)
        assertXpath(
            res, 
            '//xslttestmodels/xslttestmodel/name[text()="name%s"]' % self.time,
            )
Esempio n. 2
0
    def test_queryset_xmlify_user(self):
        """Tests that querysets can be rendered with the xmlify method.
        """
        tmpl = BLANK % """
        <xsl:copy-of select="xdjango:foo%d()"/>
        """ % self.time
        transformer = xslt.Transformer(tmpl)
        
        from django.contrib.auth.models import User
        user = User(
            username="******" % self.time,
            password="******" % self.time,
            first_name="first%s" % self.time
            )
        user.save()

        # Make a queryset
        qs = User.objects.filter(username="******" % self.time)

        # Make an xml object from it
        xml_list = xsltmanagers.xmlify(
            qs,
            first_name="first_name", 
            username="******"
            )

        context_key = 'foo%d' % self.time
        c = Context({ context_key: xml_list })
        res = transformer(context=c)
        assertXpath(
            res, 
            '//users//user[@first_name="first%s"]' % self.time,
            )