示例#1
0
    def test_create_document_object(self):
        doc = Document(title="foo", document_type=DocumentType.objects.all()[0],
            notes="bonk")
        doc.file.save(name="whee", content=ContentFile("wee willy wonka"))
        doc.programs = Program.objects.all()[:2]  
        doc.authors = [self.john.id]

        self.assertItemsEqual([doc], Document.objects.all())
示例#2
0
    def test_document_page_changelist(self):
        doc = Document(title='foo bar', document_type=DocumentType.objects.all()[0],
            notes="bonk")
        # from lib.monkeypatch import breakpoint
        # breakpoint()
        doc.file.save(name="foo", content=ContentFile("foo bar baz"))
        doc.authors = [self.john]
        doc.programs = [Program.objects.all()[1]]
        doc.save()

        doc2 = Document(title='foo baz', document_type=DocumentType.objects.all()[1],
            notes="whee")
        # from lib.monkeypatch import breakpoint
        # breakpoint()
        doc2.file.save(name="foo", content=ContentFile("foo bar baz"))
        doc2.authors = [self.ringo]
        doc2.programs = [Program.objects.all()[2]]
        doc2.save()
        
        response = self.client.get(reverse('search'), {'q': 'foo'})
        self.assertEqual(response.status_code, 200)
        
        table, queryset = self.assert_search_results_table_get_queryset(response)
        
        self.assertEqual(2, len(queryset), "Unexpected search results: %s" %
            queryset)
        from haystack.utils import get_identifier
        result = [q for q in queryset if q.id == get_identifier(doc)]
        self.assertEqual(get_identifier(doc), result[0].id)
        result = result[0]
        # print object.__str__(queryset[0])

        self.assertEqual("<a href='%s'>%s</a>" % (doc.get_absolute_url(),
            doc.title), table.render_title(doc.title, result))

        row = [r for r in table.page.object_list if r.record.pk == doc.id][0]
        self.assertEqual("<a href='%s'>%s</a>" % (doc.get_absolute_url(),
            doc.title), row['title'])
        self.assertEqual(doc.authors.all()[0].full_name, row['author_names'])
        self.assertEqual(doc.created, row['created'])
        self.assertEqual(doc.programs.all()[0].name, row['programs'])
        self.assertEqual(doc.document_type.name, row['document_type'])
 def handle_noargs(self, **options):
     doc_dir = os.path.join(os.path.dirname(__file__), '..', '..',
         'fixtures')
     
     doctypes = DocumentType.objects.all()
     programs = Program.objects.all()
     users = IntranetUser.objects.all()
     
     for i in range(1000):
         for f in os.listdir(doc_dir):
             doc = Document()
             doc.title = random.random()
             doc.file = File(open(os.path.join(doc_dir, f)))
             doc.notes = random.random()
             doc.document_type = random.choice(doctypes)
             doc.save()
             doc.programs = random.sample(programs, 2)
             doc.authors = random.sample(users, 1)