Skip to content

Commit

Permalink
Add update_together test.
Browse files Browse the repository at this point in the history
  • Loading branch information
karanlyons committed Oct 3, 2013
1 parent 389b556 commit 4eb478f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
4 changes: 2 additions & 2 deletions save_the_change/mixins.py
Expand Up @@ -245,7 +245,7 @@ def __new__(cls, name, bases, attrs):
for dependent in codependents:
mapping[dependent].update(codependents)

update_together = mapping
update_together = dict(mapping)

if meta:
setattr(meta, 'update_together', update_together)
Expand All @@ -270,7 +270,7 @@ def save(self, *args, **kwargs):
update_fields = set()

for field in kwargs['update_fields']:
update_fields.update(self._meta.update_together[field])
update_fields.update(self._meta.update_together.get(field, {}))

kwargs['update_fields'] = list(update_fields)

Expand Down
14 changes: 13 additions & 1 deletion tests/testproject/testapp/tests.py
Expand Up @@ -92,7 +92,7 @@ def create_initial(self):

self.old_values['id'] = m.id
self.new_values['id'] = m.id

return m

def create_changed(self):
Expand Down Expand Up @@ -240,6 +240,18 @@ def test_changed_twice_new_values(self):

self.assertEquals(m.new_values, new_values)

def test_updated_together_values(self):
m = self.create_saved()
EnlightenedModel.objects.all().update(big_integer=0)

new_values = self.new_values
new_values['small_integer'] = 0

m.small_integer = new_values['small_integer']
m.save()

self.assertEquals(m.new_values, new_values)

"""
Regression Tests
Expand Down

0 comments on commit 4eb478f

Please sign in to comment.