本文へスキップ
hdknr blog
戻る

unittest mock

patch.object(): メソッドを置き換える

from unittest.mock import patch

from applies.utils import approve_to
from base.tests.utils import RestTestCase
from sourcing.models import PurchaseOrder

def fake_cloudsign_post_document(self, *args, **kwargs):
    # サーバー間のAPIが成功したものとして承認状態を進める
    approve_to(self.purchase, "purchase_print")

class PurchaseOrderTest(RestTestCase):

    @patch.object(PurchaseOrder, "cloudsign_post_document", new=fake_cloudsign_post_document)
    def test_create(self):
        # ....
        #
        response = client.post("/api/rest/sourcing/purchaseorder/", params)
        ...
        instance = PurchaseOrder.objects.get(id=response.json()["id])
        self.assertEqual(instanc.purchase.purchase_status, "print")


前の記事
Cloud Function defautl pages
次の記事
azure cognitive service