Exemple #1
0
    def test_publish_duplicates_revision_as_live_on_the_shelf(self):
        shelf = create_test_abstract_shelf('Test label')

        initialRevision = shelf.live_revision

        shelf.shelf_id = 'Test label 2'
        shelf.save()

        secondRevision = shelf.live_revision

        self.assertNotEqual(shelf.live_revision.id, initialRevision.id)
        self.assertEqual(shelf.live_revision.id, secondRevision.id)
        self.assertEqual(shelf.revisions.count(), 2)

        initialRevision.publish()

        shelf = ShelfAbstract.objects.get(shelf_id='Test label')

        self.assertEqual(shelf.revisions.count(), 3)
        self.assertNotEqual(shelf.live_revision.content_json,
                            secondRevision.content_json)
        self.assertEqual(initialRevision.as_shelf_object().shelf_id,
                         shelf.live_revision.as_shelf_object().shelf_id)

        shelf.delete()
Exemple #2
0
    def test_to_dict_returns_the_object_as_a_dictionary(self):
        shelf = create_test_abstract_shelf()

        shelf_dict = shelf.to_dict()

        self.assertEqual(shelf_dict['shelf_id'], shelf.shelf_id)

        shelf.delete()
Exemple #3
0
    def test_initialising_an_instance_assigns_the_content_type(self):
        shelf = create_test_abstract_shelf()

        expectedContentType = ContentType.objects.get_for_model(shelf)

        self.assertEqual(shelf.content_type, expectedContentType)

        shelf.delete()
Exemple #4
0
    def test_serializable_data_function_returns_a_dictionary_of_the_shelf(
            self):
        shelf = create_test_abstract_shelf()

        serialized_shelf = shelf.serializable_data()

        self.assertIsTrue('live_revision' in serialized_shelf)
        self.assertIsTrue('shelf_id' in serialized_shelf)
        self.assertIsTrue('content_type' in serialized_shelf)
Exemple #5
0
    def test_is_latest_revision_returns_true_for_unsaved_revisions(self):
        shelf = create_test_abstract_shelf()

        revision = ShelfRevision(shelf_id=shelf.id,
                                 content_json=shelf.to_dict())

        self.assertIsNone(revision.id)
        self.assertIsTrue(revision.is_latest_revision())

        shelf.delete()
Exemple #6
0
    def test_is_latest_revision_returns_correct_value(self):
        shelf = create_test_abstract_shelf()

        initialRevision = shelf.live_revision

        secondRevision = create_test_revision(shelf)

        self.assertIsFalse(initialRevision.is_latest_revision())

        self.assertIsTrue(secondRevision.is_latest_revision())

        shelf.delete()
Exemple #7
0
    def test_saving_adds_a_created_at_time(self):
        shelf = create_test_abstract_shelf()

        revision = ShelfRevision(shelf_id=shelf.id,
                                 content_json=shelf.to_dict())

        self.assertIsNone(revision.created_at)

        revision.save()

        self.assertIsNotNone(revision.created_at)

        shelf.delete()
Exemple #8
0
    def test_specific_returns_the_instance_in_the_correct_class_type(self):
        shelf = create_test_abstract_shelf()

        expectedContentType = ContentType.objects.get_for_model(shelf.specific)
        self.assertEqual(shelf.content_type, expectedContentType)

        shelf.delete()

        shelf = create_test_promo_shelf()

        expectedContentType = ContentType.objects.get_for_model(shelf.specific)
        self.assertEqual(shelf.content_type, expectedContentType)

        shelf.delete()
Exemple #9
0
    def test_initialising_a_sub_class_instance_assigns_the_correct_content_type(
            self):
        abstractShelf = create_test_abstract_shelf('Abstract test id')
        shelf = create_test_promo_shelf()

        expectedContentType = ContentType.objects.get_for_model(shelf)
        notExpectedContentType = ContentType.objects.get_for_model(
            abstractShelf)

        self.assertEqual(shelf.content_type, expectedContentType)
        self.assertNotEqual(shelf.content_type, notExpectedContentType)

        shelf.delete()
        abstractShelf.delete()
Exemple #10
0
    def test_get_next_returns_the_next_revision(self):
        shelf = create_test_abstract_shelf()

        initialRevision = shelf.live_revision

        secondRevision = create_test_revision(shelf)

        self.assertIsFalse(initialRevision.is_latest_revision())

        nextRevision = initialRevision.get_next()

        self.assertEqual(secondRevision.id, nextRevision.id)

        shelf.delete()
Exemple #11
0
    def test_get_previous_returns_the_previous_revision(self):
        shelf = create_test_abstract_shelf()

        initialRevision = shelf.live_revision

        secondRevision = create_test_revision(shelf)

        self.assertIsTrue(secondRevision.is_latest_revision())

        previousRevision = secondRevision.get_previous()

        self.assertEqual(initialRevision.id, previousRevision.id)

        shelf.delete()
Exemple #12
0
    def test_string_function_returns_the_string_id_if_set(self):
        shelf = create_test_abstract_shelf()

        self.assertNotEqual(shelf.__str__(), str(shelf.id))
        self.assertEqual(shelf.__str__(), shelf.shelf_id)