def test_no_migrations( self, call_command, form_template, display_template, apps, write ): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal', migrations=False) self.assertFalse(call_command.called) self.assertEqual( form_template.call_count, 1 ) self.assertEqual( form_template.call_args[0][0], models.Dinner ) self.assertEqual( display_template.call_count, 1 ) self.assertEqual( display_template.call_args[0][0], models.Dinner ) self.assertFalse(write.called)
def test_dry_run( self, call_command, form_template, display_template, apps, write ): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal', dry_run=True) self.assertEqual(call_command.call_count, 1) call_args = call_command.call_args_list self.assertEqual( call_args[0][0], ( "makemigrations", "opal", "--traceback", "--dry-run" ) ) self.assertEqual(write.call_count, 2) call_args = write.call_args_list self.assertEqual( call_args[0][0], ("No Display template for {}".format(models.Dinner),) ) self.assertEqual( call_args[1][0], ("No Form template for {}".format(models.Dinner),) )
def test_episode_subrecord_form_template(self, call_command, form_template, display_template, apps, write): apps.all_models = {"opal": {'dinner': models.Dinner}} with patch.object(models.Dinner, "get_form_template") as get_display_template: get_display_template.return_value = True scaffold.scaffold_subrecords('opal') self.assertFalse(form_template.called)
def test_scaffold_raises_an_error(self, call_command, form_template, display_template, apps, write): apps.all_models = [] with self.assertRaises(ValueError) as e: scaffold.scaffold_subrecords('unreal') self.assertEqual( "Unable to find app unreal in settings.INSTALLED_APPS", str(e.exception))
def test_no_migrations(self, call_command, form_template, display_template, apps, write): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal', migrations=False) self.assertFalse(call_command.called) self.assertEqual(form_template.call_count, 1) self.assertEqual(form_template.call_args[0][0], models.Dinner) self.assertEqual(display_template.call_count, 1) self.assertEqual(display_template.call_args[0][0], models.Dinner) self.assertFalse(write.called)
def test_episode_subrecord_form_template( self, call_command, form_template, display_template, apps, write ): apps.all_models = {"opal": {'dinner': models.Dinner}} with patch.object( models.Dinner, "get_form_template" ) as get_display_template: get_display_template.return_value = True scaffold.scaffold_subrecords('opal') self.assertFalse(form_template.called)
def test_scaffold(self, call_command, form_template, display_template, apps, write): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal') self.assertEqual(call_command.call_count, 2) call_args = call_command.call_args_list self.assertEqual(call_args[0][0], ("makemigrations", "opal", "--traceback")) self.assertEqual(call_args[1][0], ("migrate", "opal", "--traceback")) self.assertEqual(form_template.call_count, 1) self.assertEqual(form_template.call_args[0][0], models.Dinner) self.assertEqual(display_template.call_count, 1) self.assertEqual(display_template.call_args[0][0], models.Dinner) self.assertFalse(write.called)
def test_scaffold_raises_an_error( self, call_command, form_template, display_template, apps, write ): apps.all_models = [] with self.assertRaises(ValueError) as e: scaffold.scaffold_subrecords('unreal') self.assertEqual( "Unable to find app unreal in settings.INSTALLED_APPS", str(e.exception) )
def test_scaffold( self, call_command, form_template, display_template, apps, write ): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal') self.assertEqual(call_command.call_count, 2) call_args = call_command.call_args_list self.assertEqual( call_args[0][0], ( "makemigrations", "opal", "--traceback" ) ) self.assertEqual( call_args[1][0], ( "migrate", "opal", "--traceback" ) ) self.assertEqual( form_template.call_count, 1 ) self.assertEqual( form_template.call_args[0][0], models.Dinner ) self.assertEqual( display_template.call_count, 1 ) self.assertEqual( display_template.call_args[0][0], models.Dinner ) self.assertFalse(write.called)
def test_integration(self, get_template_dir): """ A quick cover all test that, um doesn't cover everything apart from django migrations/makemigrations can we confirm with a superficial test that no other apis internal or external that we are using have changed. """ tmp_dir = tempfile.mkdtemp() get_template_dir.return_value = ffs.Path(tmp_dir) scaffold.scaffold_subrecords('tests', migrations=False) self.assertTrue( os.path.isfile(os.path.join(tmp_dir, "records", "hat_wearer.html"))) self.assertTrue( os.path.isfile( os.path.join(tmp_dir, "forms", "hat_wearer_form.html")))
def test_dry_run(self, call_command, form_template, display_template, apps, write): apps.all_models = {"opal": {'dinner': models.Dinner}} scaffold.scaffold_subrecords('opal', dry_run=True) self.assertEqual(call_command.call_count, 1) call_args = call_command.call_args_list self.assertEqual( call_args[0][0], ("makemigrations", "opal", "--traceback", "--dry-run")) self.assertEqual(write.call_count, 2) call_args = write.call_args_list self.assertEqual( call_args[0][0], ("No Display template for {}".format(models.Dinner), )) self.assertEqual(call_args[1][0], ("No Form template for {}".format(models.Dinner), ))
def test_integration(self, get_template_dir): """ A quick cover all test that, um doesn't cover everything apart from django migrations/makemigrations can we confirm with a superficial test that no other apis internal or external that we are using have changed. """ tmp_dir = tempfile.mkdtemp() get_template_dir.return_value = ffs.Path(tmp_dir) scaffold.scaffold_subrecords('tests', migrations=False) self.assertTrue( os.path.isfile( os.path.join(tmp_dir, "records", "hat_wearer.html") ) ) self.assertTrue( os.path.isfile( os.path.join(tmp_dir, "forms", "hat_wearer_form.html") ) )
def handle(self, *args, **options): core_scaffold.scaffold_subrecords( options['app'], migrations=not options['no_migrations'], dry_run=options['dry_run'])
def handle(self, *args, **options): core_scaffold.scaffold_subrecords( options['app'], migrations=not options['no_migrations'], dry_run=options['dry_run'] )