def test_sends_notification(self, mock_send_order_update): order = OrderFactory() status = StatusFactory(notify=True) order_status = order.add_status(status.status, "Test Order Shipped") self.assertEqual(len(mock_send_order_update.call_args_list), 1) self.assertEqual(mock_send_order_update.call_args_list, [mock.call(order_status)])
def test_sends_notification(self, mock_send_order_update): order = OrderFactory() status = StatusFactory(notify=True) order_status = order.add_status(status.status, "Test Order Shipped") self.assertEqual(len(mock_send_order_update.call_args_list), 1) self.assertEqual( mock_send_order_update.call_args_list, [mock.call(order_status)] )
def test_sets_the_order_status(self, mock_send_order_update): # Test that it sets the shortcut to the orders latest status # TODO: We should just get the latest status, instead of this # weirdness. order = OrderFactory() status = StatusFactory(notify=True) order_status = OrderStatusFactory.build(order=order, status=status) order_status.save() self.assertEqual(order.status, order_status)
def test_not_frozen__weekend(self, now): # Don't care about the time of day, it won't ship until the # next business day. now.return_value = timezone.datetime(2016, 7, 30, 10, 00) # Saturday order = OrderFactory() self.assertEqual(order.shipping_date(), datetime.date(2016, 8, 1))
def test_not_frozen__business_day__after_midday(self, now): now.return_value = timezone.datetime(2016, 7, 25, 14, 14) # Monday order = OrderFactory() self.assertEqual(order.shipping_date(), datetime.date(2016, 7, 26))
def test_by_status__not_last_status(self): order = OrderFactory() order.add_status("test") order.add_status("other") self.assertNotIn(order, Order.objects.by_latest_status("test"))
def test_by_status__only_status(self): order = OrderFactory() order.add_status("test") self.assertIn(order, Order.objects.by_latest_status("test"))
def test_unfulfilled__fulfilled(self): order = OrderFactory(frozen=True, fulfilled=True) order.add_status("Processing") self.assertNotIn(order, Order.objects.unfulfilled())
def test_by_status__no_status(self): order = OrderFactory() status = StatusFactory() self.assertNotIn(order, list(Order.objects.by_latest_status(status.status)))
def test_live__frozen(self): order = OrderFactory(frozen=True) self.assertNotIn(order, Order.objects.live())
def test_live__unfrozen(self): order = OrderFactory(frozen=False) self.assertIn(order, Order.objects.live())