def handle(self, *args, **options): # Load fixtures for the routes fixture_filename = 'routes.json' call_command('loaddata', fixture_filename) client = ClientFactory.create_batch(10) self.stdout.write( self.style.SUCCESS( 'Successfully created client "%s"' % client ) )
def test_refresh_create_only_if_scheduled_today(self): """ Refs bug #734. If a client is ongoing but don't have scheduled delivery, then don't create his order. """ meals_default = {} data = { 'main_dish_{}_quantity': 2, 'size_{}': 'R', 'dessert_{}_quantity': 0, 'diabetic_dessert_{}_quantity': 0, 'fruit_salad_{}_quantity': 1, 'green_salad_{}_quantity': 1, 'pudding_{}_quantity': 1, 'compote_{}_quantity': 0, } for day, _ in DAYS_OF_WEEK: for key_tmpl, value in data.items(): meals_default[key_tmpl.format(day)] = value ongoing_clients = ClientFactory.create_batch( 10, status=Client.ACTIVE, delivery_type='O', meal_default_week=meals_default, route=RouteFactory() ) # The meal schedule should exclude today. schedule_delivery = [] weekday = datetime.date.today().weekday() for i, t in enumerate(DAYS_OF_WEEK): if i != weekday: schedule_delivery.append(t[0]) for c in ongoing_clients: c.set_simple_meals_schedule(schedule_delivery) self.force_login() url = reverse('delivery:refresh_orders') response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertEqual( Order.objects.all().count(), 0 # No order should be created. )