Cover mailrule in consumption template migration

This commit is contained in:
shamoon 2023-12-30 22:48:55 -08:00
parent 7ccfa45eb9
commit 1331ffa93f
2 changed files with 16 additions and 3 deletions

View File

@ -5,6 +5,9 @@ from documents.tests.utils import TestMigrations
class TestMigrateWorkflow(TestMigrations): class TestMigrateWorkflow(TestMigrations):
migrate_from = "1043_alter_savedviewfilterrule_rule_type" migrate_from = "1043_alter_savedviewfilterrule_rule_type"
migrate_to = "1044_workflow_workflowaction_workflowtrigger_and_more" migrate_to = "1044_workflow_workflowaction_workflowtrigger_and_more"
dependencies = (
("paperless_mail", "0023_remove_mailrule_filter_attachment_filename_and_more"),
)
def setUpBeforeMigration(self, apps): def setUpBeforeMigration(self, apps):
User = apps.get_model("auth", "User") User = apps.get_model("auth", "User")
@ -29,14 +32,20 @@ class TestMigrateWorkflow(TestMigrations):
name="Custom Field 1", name="Custom Field 1",
data_type="string", data_type="string",
) )
ma = apps.get_model("paperless_mail", "MailAccount").objects.create(
name="MailAccount 1",
)
mr = apps.get_model("paperless_mail", "MailRule").objects.create(
name="MailRule 1",
order=0,
account=ma,
)
user2 = User.objects.create(username="user2") user2 = User.objects.create(username="user2")
user3 = User.objects.create(username="user3") user3 = User.objects.create(username="user3")
group2 = Group.objects.create(name="group2") group2 = Group.objects.create(name="group2")
model_name = "ConsumptionTemplate" ConsumptionTemplate = apps.get_model("documents", "ConsumptionTemplate")
app_name = "documents"
ConsumptionTemplate = apps.get_model(app_label=app_name, model_name=model_name)
ct = ConsumptionTemplate.objects.create( ct = ConsumptionTemplate.objects.create(
name="Template 1", name="Template 1",
@ -44,6 +53,7 @@ class TestMigrateWorkflow(TestMigrations):
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}", sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
filter_filename="*simple*", filter_filename="*simple*",
filter_path="*/samples/*", filter_path="*/samples/*",
filter_mailrule=mr,
assign_title="Doc from {correspondent}", assign_title="Doc from {correspondent}",
assign_correspondent=c, assign_correspondent=c,
assign_document_type=dt, assign_document_type=dt,

View File

@ -265,6 +265,7 @@ class TestMigrations(TransactionTestCase):
return apps.get_containing_app_config(type(self).__module__).name return apps.get_containing_app_config(type(self).__module__).name
migrate_from = None migrate_from = None
dependencies = None
migrate_to = None migrate_to = None
auto_migrate = True auto_migrate = True
@ -277,6 +278,8 @@ class TestMigrations(TransactionTestCase):
type(self).__name__, type(self).__name__,
) )
self.migrate_from = [(self.app, self.migrate_from)] self.migrate_from = [(self.app, self.migrate_from)]
if self.dependencies is not None:
self.migrate_from.extend(self.dependencies)
self.migrate_to = [(self.app, self.migrate_to)] self.migrate_to = [(self.app, self.migrate_to)]
executor = MigrationExecutor(connection) executor = MigrationExecutor(connection)
old_apps = executor.loader.project_state(self.migrate_from).apps old_apps = executor.loader.project_state(self.migrate_from).apps