assert not other.chunk_set.exists()
other.delete()
+ def split(self):
+ """Splits all the chunks into separate books."""
+ self.title
+ for chunk in self:
+ book = Book.objects.create(title=chunk.title, slug=chunk.slug,
+ public=self.public, gallery=self.gallery)
+ book[0].delete()
+ chunk.book = book
+ chunk.number = 1
+ chunk.save()
+ assert not self.chunk_set.exists()
+ self.delete()
# State & cache
# =============
self.assertEqual(Book.objects.all().count(), 2)
self.assertEqual(self.book1.materialize(), 'book 1')
self.assertEqual(self.book2.materialize(), 'book 2')
+
+ def test_split_book(self):
+ self.book1.chunk_set.create(number=2, title='Second chunk',
+ slug='book3')
+ self.book1[1].commit('I survived!')
+ self.assertEqual(len(self.book1), 2)
+ self.book1.split()
+ self.assertEqual(set([b.slug for b in Book.objects.all()]),
+ set(['book2', '1', 'book3']))
+ self.assertEqual(
+ Book.objects.get(slug='book3').materialize(),
+ 'I survived!')