def setUp(self):
        from river.models.factories import ProceedingMetaObjectFactory, StateObjectFactory

        self.state1 = StateObjectFactory()
        self.state2 = StateObjectFactory()
        self.state3 = StateObjectFactory()
        self.content_type = ContentType.objects.get_for_model(TestModel)

        self.proceeding_meta = ProceedingMetaObjectFactory(
            content_type=self.content_type,
            transition__source_state=self.state1,
            transition__destination_state=self.state2)
        self.object = TestModelObjectFactory().model
示例#2
0
    def test_apply_new_proceed_definition(self):
        from river.models.factories import ProceedingMetaObjectFactory, TransitionObjectFactory

        ct = self.proceeding_meta.content_type
        # self.assertEqual(0, Proceeding.objects.filter(workflow_object=self.object).count())
        # ObjectService.register_object(self.object, self.field)
        self.assertEqual(
            1,
            Proceeding.objects.filter(workflow_object=self.object).count())

        transition = TransitionObjectFactory(source_state=self.state2,
                                             destination_state=self.state3)

        m2m_changed.disconnect(post_group_change,
                               ProceedingMeta.groups.through)
        m2m_changed.disconnect(post_permissions_change,
                               ProceedingMeta.permissions.through)

        proceeding_meta = ProceedingMetaObjectFactory(
            content_type=ct,
            field=self.field,
            transition=transition,
            permissions__in=self.proceeding_meta.permissions.all())

        self.assertEqual(
            1,
            Proceeding.objects.filter(workflow_object=self.object,
                                      field=self.field).count())

        ProceedingMetaService.apply_new_proceeding_meta(proceeding_meta)

        self.assertEqual(
            2,
            Proceeding.objects.filter(workflow_object=self.object,
                                      field=self.field).count())

        proceeding_meta.save()

        self.assertEqual(
            2,
            Proceeding.objects.filter(workflow_object=self.object,
                                      field=self.field).count())