Skip to content

Commit

Permalink
Failing test for custom foreign key
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh Fyne authored and Damien Nozay committed May 7, 2013
1 parent 0162500 commit cb14abe
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
15 changes: 13 additions & 2 deletions simple_history/tests/models.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
from simple_history.models import HistoricalRecords
from simple_history import register


This comment has been minimized.

Copy link
@treyhunner

treyhunner May 8, 2013

Member

FYI @jfyne these double line breaks between top-level classes were put here on purpose (per suggested in PEP8 here).

I should probably note in the yet-to-be-made CONTRIBUTING.rst file that stylistic changes should be kept separate from other changes and PEP 8 should be followed.

This comment has been minimized.

Copy link
@jfyne

jfyne May 8, 2013

Contributor

OK i'll keep that in mind

class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
Expand Down Expand Up @@ -45,7 +45,6 @@ class FileModel(models.Model):
file = models.FileField(upload_to='files')
history = HistoricalRecords()


class Document(models.Model):
changed_by = models.ForeignKey(User, null=True)
history = HistoricalRecords()
Expand All @@ -54,6 +53,18 @@ class Document(models.Model):
def _history_user(self):
return self.changed_by

class Book(models.Model):
isbn = models.CharField(max_length=15, primary_key=True)
changed_by = models.ForeignKey(User, null=True)
history = HistoricalRecords()

@property
def _history_user(self):
return self.changed_by

class Library(models.Model):
book = models.ForeignKey(Book, null=True)
history = HistoricalRecords()

register(User, app='simple_history.tests', manager_name='histories')

Expand Down
15 changes: 13 additions & 2 deletions simple_history/tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User

from .models import Poll, Choice, Restaurant, Person, FileModel, Document
from .models import Poll, Choice, Restaurant, Person, FileModel, Document, Book, Library
from .models import ExternalModel1, ExternalModel3
from simple_history import register
from simple_history.tests.external.models import ExternalModel2, ExternalModel4
Expand Down Expand Up @@ -169,6 +169,18 @@ def test_specify_history_user(self):
self.assertEqual([d.history_user for d in document.history.all()],
[None, user2, user1])

def test_non_default_primary_key_save(self):
book1 = Book.objects.create(isbn='1-84356-028-1')
book2 = Book.objects.create(isbn='1-84356-028-2')
library = Library.objects.create(book=book1)
library.book = book2
library.save()
library.book = None
library.save()
self.assertEqual([l.book for l in library.history.all()],
[None, book2, book1])


def test_raw_save(self):
document = Document()
document.save_base(raw=True)
Expand All @@ -180,7 +192,6 @@ def test_raw_save(self):
'history_type': "~",
})


class RegisterTest(TestCase):
def test_register_no_args(self):
self.assertEqual(len(Choice.history.all()), 0)
Expand Down

0 comments on commit cb14abe

Please sign in to comment.