def handle(self, *args, **options):
        # Load fixtures for the routes
        fixture_dir = os.path.abspath(
            os.path.join(os.path.dirname(__file__), '../fixtures'))
        fixture_filename = 'routes.json'
        fixture_file = os.path.join(fixture_dir, fixture_filename)
        call_command('loaddata', fixture_filename)

        client = ClientFactory.create_batch(10)
        self.stdout.write(
            self.style.SUCCESS('Successfully created client "%s"' % client))
Exemple #2
0
    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.
        )
Exemple #3
0
    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.
        )