예제 #1
0
    def handle(self, *args, **options):
        if len(args) != 2:
            raise CommandError("This command takes exactly two arguments: %s" % self.args)

        email, user_type = args
        user_type = user_type.lower()
        if user_type not in ("famille", "prestataire"):
            raise CommandError("Unknown user type %s" % user_type)

        # find the user in the opposite type
        UserClass, NewClass = (Famille, Prestataire) if user_type == "prestataire" else (Prestataire, Famille)
        try:
            user = UserClass.objects.get(email=email)
        except UserClass.DoesNotExist:
            raise CommandError("User with email %s does not exists")

        convert_user(user, NewClass)
예제 #2
0
 def test_convert_user_to_famille(self):
     new_famille = utils.convert_user(self.presta, models.Famille)
     self.assertTrue(new_famille.pk)
     self.assertEqual(new_famille.city, "Mulhouse")
     self.assertEqual(new_famille.email, "*****@*****.**")
     self.assertEqual(new_famille.user, self.user2)
     self.assertEqual(new_famille.type_presta, "nounou")
     self.assertTrue(new_famille.permis)
     self.assertIsNone(models.Prestataire.objects.filter(email="*****@*****.**").first())
예제 #3
0
 def test_convert_user_to_presta(self):
     new_presta = utils.convert_user(self.famille, models.Prestataire)
     self.assertTrue(new_presta.pk)
     self.assertEqual(new_presta.city, "Paris")
     self.assertEqual(new_presta.email, "*****@*****.**")
     self.assertEqual(new_presta.user, self.user1)
     self.assertEqual(new_presta.type, "baby")
     self.assertTrue(new_presta.animaux)
     self.assertIsNone(models.Famille.objects.filter(email="*****@*****.**").first())