class ManageVersion(TestCase): """ Tests permitting and deleting versions. """ def setUp(self): self.client = APIClient() self.client.login(username='******', password='******') self.motion = Motion(title='test_title_InieJ5HieZieg1Meid7K', text='test_text_daePhougho7EenguWe4g') self.motion.save() self.version_2 = self.motion.get_new_version( title='new_title_fee7tef0seechazeefiW') self.motion.save(use_version=self.version_2) def test_permit(self): self.assertEqual( Motion.objects.get( pk=self.motion.pk).active_version.version_number, 2) response = self.client.put( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '1'}) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, {'detail': 'Version 1 permitted successfully.'}) self.assertEqual( Motion.objects.get( pk=self.motion.pk).active_version.version_number, 1) def test_permit_invalid_version(self): response = self.client.put( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '3'}) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_delete(self): response = self.client.delete( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '1'}) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, {'detail': 'Version 1 deleted successfully.'}) self.assertEqual( Motion.objects.get(pk=self.motion.pk).versions.count(), 1) def test_delete_active_version(self): response = self.client.delete( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '2'}) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual( response.data, {'detail': 'You can not delete the active version of a motion.'})
class ManageVersion(TestCase): """ Tests permitting and deleting versions. """ def setUp(self): self.client = APIClient() self.client.login(username='******', password='******') self.motion = Motion( title='test_title_InieJ5HieZieg1Meid7K', text='test_text_daePhougho7EenguWe4g') self.motion.save() self.version_2 = self.motion.get_new_version(title='new_title_fee7tef0seechazeefiW') self.motion.save(use_version=self.version_2) def test_permit(self): self.assertEqual(Motion.objects.get(pk=self.motion.pk).active_version.version_number, 2) response = self.client.put( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '1'}) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, {'detail': 'Version 1 permitted successfully.'}) self.assertEqual(Motion.objects.get(pk=self.motion.pk).active_version.version_number, 1) def test_permit_invalid_version(self): response = self.client.put( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '3'}) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_delete(self): response = self.client.delete( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '1'}) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, {'detail': 'Version 1 deleted successfully.'}) self.assertEqual(Motion.objects.get(pk=self.motion.pk).versions.count(), 1) def test_delete_active_version(self): response = self.client.delete( reverse('motion-manage-version', args=[self.motion.pk]), {'version_number': '2'}) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, {'detail': 'You can not delete the active version of a motion.'})
def test_do_not_create_new_version_when_permit_old_version(self): motion = Motion() motion.title = "foo" motion.text = "bar" motion.save() first_version = motion.get_last_version() motion = Motion.objects.get(pk=motion.pk) motion.title = "New Title" motion.save(use_version=motion.get_new_version()) new_version = motion.get_last_version() self.assertEqual(motion.versions.count(), 2) motion.active_version = new_version motion.save() self.assertEqual(motion.versions.count(), 2) motion.active_version = first_version motion.save(use_version=False) self.assertEqual(motion.versions.count(), 2)
def test_do_not_create_new_version_when_permit_old_version(self): motion = Motion() motion.title = 'foo' motion.text = 'bar' motion.save() first_version = motion.get_last_version() motion = Motion.objects.get(pk=motion.pk) motion.title = 'New Title' motion.save(use_version=motion.get_new_version()) new_version = motion.get_last_version() self.assertEqual(motion.versions.count(), 2) motion.active_version = new_version motion.save() self.assertEqual(motion.versions.count(), 2) motion.active_version = first_version motion.save(use_version=False) self.assertEqual(motion.versions.count(), 2)