コード例 #1
0
    def test_ok_if_order_in_allowed_status(self, allowed_status):
        """
        Test that the order can be marked as complete if it's in one of the allowed statuses.
        """
        order = OrderPaidFactory(status=allowed_status, assignees=[])
        OrderAssigneeCompleteFactory(order=order)
        adviser = AdviserFactory()

        with freeze_time('2018-07-12 13:00'):
            order.complete(by=adviser)

        order.refresh_from_db()
        assert order.status == OrderStatus.complete
        assert order.completed_on == dateutil_parse('2018-07-12T13:00Z')
        assert order.completed_by == adviser
コード例 #2
0
    def test_atomicity(self):
        """
        Test that if there's a problem with saving the order, nothing gets saved.
        """
        order = OrderPaidFactory(assignees=[])
        OrderAssigneeCompleteFactory(order=order)
        with mock.patch.object(order, 'save') as mocked_save:
            mocked_save.side_effect = Exception()

            with pytest.raises(Exception):
                order.complete(by=None)

            order.refresh_from_db()
            assert order.status == OrderStatus.paid
            assert not order.completed_on
            assert not order.completed_by