Ejemplo n.º 1
0
    def test_get_dom_element_id(self):
        """Testing ChangeEntry.get_dom_element_id"""
        entry = ChangeEntry(request=self.request,
                            review_request=self.review_request,
                            changedesc=self.changedesc,
                            collapsed=False,
                            data=self.data)

        self.assertEqual(entry.get_dom_element_id(), 'changedesc123')
Ejemplo n.º 2
0
    def test_get_js_model_data(self):
        """Testing ChangeEntry.get_js_model_data for standard ChangeDescription
        """
        entry = ChangeEntry(request=self.request,
                            review_request=self.review_request,
                            changedesc=self.changedesc,
                            collapsed=False,
                            data=self.data)

        self.assertEqual(entry.get_js_model_data(), {})
Ejemplo n.º 3
0
    def test_is_entry_new_with_timestamp(self):
        """Testing ChangeEntry.is_entry_new with timestamp"""
        entry = ChangeEntry(request=self.request,
                            review_request=self.review_request,
                            changedesc=self.changedesc,
                            collapsed=False,
                            data=self.data)

        user = User.objects.create(username='******')

        self.assertTrue(
            entry.is_entry_new(last_visited=self.changedesc.timestamp -
                               timedelta(days=1),
                               user=user))
        self.assertFalse(
            entry.is_entry_new(last_visited=self.changedesc.timestamp,
                               user=user))
        self.assertFalse(
            entry.is_entry_new(last_visited=self.changedesc.timestamp +
                               timedelta(days=1),
                               user=user))
Ejemplo n.º 4
0
    def test_get_js_model_data_with_status_updates(self):
        """Testing ChangeEntry.get_js_model_data for ChangeDescription with
        status updates
        """
        self.review_request.repository = self.create_repository()
        diffset = self.create_diffset(self.review_request)
        filediff = self.create_filediff(diffset)

        review = self.create_review(self.review_request,
                                    body_top='Body top',
                                    body_bottom='Body bottom',
                                    ship_it=True)
        comment1 = self.create_diff_comment(review, filediff)
        comment2 = self.create_diff_comment(review, filediff)
        review.publish()

        # This is needed by the entry's add_comment(). It's normally built when
        # creating the entries and their data.
        comment1.review_obj = review
        comment2.review_obj = review

        status_update = self.create_status_update(
            self.review_request,
            review=review,
            change_description=self.changedesc)

        entry = ChangeEntry(request=self.request,
                            review_request=self.review_request,
                            changedesc=self.changedesc,
                            collapsed=False,
                            data=self.data)
        entry.add_update(status_update)
        entry.add_comment('diff_comments', comment1)
        entry.add_comment('diff_comments', comment2)

        self.assertEqual(
            entry.get_js_model_data(), {
                'reviewsData': [
                    {
                        'id': review.pk,
                        'bodyTop': 'Body top',
                        'bodyBottom': 'Body bottom',
                        'public': True,
                        'shipIt': True,
                    },
                ],
                'diffCommentsData': [
                    (six.text_type(comment1.pk), six.text_type(filediff.pk)),
                    (six.text_type(comment2.pk), six.text_type(filediff.pk)),
                ],
                'pendingStatusUpdates':
                False,
            })
Ejemplo n.º 5
0
    def test_build_entries(self):
        """Testing ChangeEntry.build_entries"""
        changedesc1 = self.changedesc
        changedesc2 = self.review_request.changedescs.create(
            timestamp=changedesc1.timestamp + timedelta(days=1), public=True)

        review = self.create_review(self.review_request, public=True)
        comment = self.create_general_comment(review)
        status_update = self.create_status_update(
            self.review_request, review=review, change_description=changedesc2)

        self.data.query_data_pre_etag()
        self.data.query_data_post_etag()

        entries = list(ChangeEntry.build_entries(self.data))

        # These will actually be in database query order (newest to oldest),
        # not the order shown on the page.
        entry = entries[0]
        self.assertEqual(entry.changedesc, changedesc2)
        self.assertFalse(entry.collapsed)
        self.assertEqual(entry.status_updates, [status_update])
        self.assertEqual(entry.status_updates_by_review, {
            review.pk: status_update,
        })
        self.assertEqual(
            entry.status_updates[0].comments, {
                'diff_comments': [],
                'screenshot_comments': [],
                'file_attachment_comments': [],
                'general_comments': [comment],
            })

        entry = entries[1]
        self.assertEqual(entry.changedesc, changedesc1)
        self.assertTrue(entry.collapsed)
        self.assertEqual(entry.status_updates, [])