Skip to content

Commit

Permalink
Refactor override naming
Browse files Browse the repository at this point in the history
  • Loading branch information
codingjoe committed Dec 2, 2018
1 parent 2d40dc4 commit 513619c
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 16 deletions.
12 changes: 6 additions & 6 deletions joeflow/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class Meta:
including start end end not of an edge.
"""

override_view = views.ManualOverrideView
override_view = views.OverrideView
detail_view = views.ProcessDetailView

@classmethod
Expand Down Expand Up @@ -247,17 +247,17 @@ def get_instance_graph(self):
style += ', bold'
graph.node(task.name, href=href, style=style, color='black', fontcolor='black')

for task in self.task_set.filter(name='manual_override').prefetch_related(
for task in self.task_set.filter(name='override').prefetch_related(
'parent_task_set', 'child_task_set'
):
label = 'manual_override_%s' % task.pk
label = 'override_%s' % task.pk
graph.node(label, style='filled, rounded, dashed')
for parent in task.parent_task_set.all():
graph.edge(parent.name, 'manual_override_%s' % task.pk, style='dashed')
graph.edge(parent.name, 'override_%s' % task.pk, style='dashed')
for child in task.child_task_set.all():
graph.edge('manual_override_%s' % task.pk, child.name, style='dashed')
graph.edge('override_%s' % task.pk, child.name, style='dashed')

for task in self.task_set.exclude(name__in=names).exclude(name='manual_override'):
for task in self.task_set.exclude(name__in=names).exclude(name='override'):
style = 'filled, dashed'
if task.type == tasks.HUMAN:
style += ', rounded'
Expand Down
6 changes: 3 additions & 3 deletions joeflow/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ class ProcessDetailView(ProcessTemplateNameViewMixin, generic.DetailView):
pass


class ManualOverrideView(PermissionRequiredMixin, RevisionMixin, ProcessTemplateNameViewMixin, generic.UpdateView):
class OverrideView(PermissionRequiredMixin, RevisionMixin, ProcessTemplateNameViewMixin, generic.UpdateView):
permission_required = 'override'
name = 'manual_override'
name = 'override'
fields = '__all__'

@staticmethod
Expand Down Expand Up @@ -100,7 +100,7 @@ def form_valid(self, form):
for task in active_tasks:
task.finish()
override_task = self.object.task_set.create(
name='manual_override',
name='override',
)
override_task.parent_task_set.set(active_tasks)
override_task.finish()
Expand Down
16 changes: 16 additions & 0 deletions tests/fixtures/simpleprocess_instance_obsolete.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
digraph {
graph [rankdir=LR]
node [fillcolor=white fontname="sans-serif" shape=rect style=filled]
"start method" [color="#888888" fontcolor="#888888" style=filled]
end [color="#888888" fontcolor="#888888" style=filled]
"start view" [color="#888888" fontcolor="#888888" style="filled, rounded"]
"save the princess" [color="#888888" fontcolor="#888888" style="filled, rounded"]
"start view" -> "save the princess"
"start method" -> "save the princess"
"save the princess" -> end
end [color=black fontcolor=black style="filled, bold"]
"start method" [color=black fontcolor=black style="filled, bold"]
obsolete [color=black fontcolor=black style="filled, dashed, bold"]
"start method" -> obsolete [style=dashed]
obsolete -> end [style=dashed]
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ digraph {
end [color=black fontcolor=black style=filled]
"start method" [color=black fontcolor=black style=filled]
"save the princess" [color=black fontcolor=black style="filled, rounded"]
"start method" -> "manual override 3" [style=dashed]
"manual override 3" [style="filled, rounded, dashed"]
"save the princess" -> "manual override 3" [style=dashed]
"manual override 3" -> end [style=dashed]
"start method" -> "override 3" [style=dashed]
"override 3" [style="filled, rounded, dashed"]
"save the princess" -> "override 3" [style=dashed]
"override 3" -> end [style=dashed]
}
18 changes: 15 additions & 3 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,14 +166,26 @@ def test_get_instance_graph(self, db, fixturedir):
expected_graph = fp.read().splitlines()
assert set(graph.body) == set(expected_graph[1:-1])

def test_get_instance_graph__manual_override(self, db, fixturedir, admin_client):
def test_get_instance_graph__override(self, db, fixturedir, admin_client):
process = models.SimpleProcess.start_method()
url = reverse('simpleprocess:override', args=[process.pk])
response = admin_client.post(url, data={'next_tasks': ['end']})
assert response.status_code == 302
assert process.task_set.get(name='manual_override')
assert process.task_set.get(name='override')
graph = process.get_instance_graph()
with open(str(fixturedir / 'simpleprocess_instance_manual_override.dot')) as fp:
with open(str(fixturedir / 'simpleprocess_instance_override.dot')) as fp:
expected_graph = fp.read().splitlines()
assert set(graph.body) == set(expected_graph[1:-1])

def test_get_instance_graph__obsolete(self, db, fixturedir, admin_client):
process = models.SimpleProcess.objects.create()
start = process.task_set.create(name='start_method', status=Task.SUCCEEDED)
obsolete = process.task_set.create(name='obsolete', status=Task.SUCCEEDED)
end = process.task_set.create(name='end', status=Task.SUCCEEDED)
obsolete.parent_task_set.add(start)
end.parent_task_set.add(obsolete)
graph = process.get_instance_graph()
with open(str(fixturedir / 'simpleprocess_instance_obsolete.dot')) as fp:
expected_graph = fp.read().splitlines()
assert set(graph.body) == set(expected_graph[1:-1])

Expand Down

0 comments on commit 513619c

Please sign in to comment.