|
7 | 7 |
|
8 | 8 | from odoo.addons.fastapi.tests.common import FastAPITransactionCase
|
9 | 9 | from odoo.addons.fastapi_auth_jwt.dependencies import auth_jwt_default_validator_name
|
| 10 | +from odoo.addons.shopinvader_anonymous_partner.models.res_partner import COOKIE_NAME |
10 | 11 |
|
11 | 12 | from ..routers import signin_router
|
12 | 13 |
|
@@ -79,6 +80,38 @@ def test_signin(self):
|
79 | 80 | res = client.post("/signin", headers={"Authorization": token})
|
80 | 81 | self.assertEqual(res.status_code, 200)
|
81 | 82 |
|
| 83 | + def test_signin_anonymous_cart(self): |
| 84 | + anonymous_partner = self.env["res.partner"].create( |
| 85 | + {"name": "Test anonymous", "anonymous_token": "1234", "active": False} |
| 86 | + ) |
| 87 | + product = self.env["product.product"].create( |
| 88 | + {"name": "product", "uom_id": self.env.ref("uom.product_uom_unit").id} |
| 89 | + ) |
| 90 | + anonymous_cart = self.env["sale.order"].create( |
| 91 | + { |
| 92 | + "partner_id": anonymous_partner.id, |
| 93 | + "order_line": [ |
| 94 | + (0, 0, {"product_id": product.id, "product_uom_qty": 1}), |
| 95 | + ], |
| 96 | + "typology": "cart", |
| 97 | + } |
| 98 | + ) |
| 99 | + |
| 100 | + token = self._get_token() |
| 101 | + with self._create_test_client() as client: |
| 102 | + res = client.post( |
| 103 | + "/signin", |
| 104 | + headers={"Authorization": token}, |
| 105 | + cookies={COOKIE_NAME: "1234"}, |
| 106 | + ) |
| 107 | + self.assertFalse(res.cookies.get(COOKIE_NAME)) |
| 108 | + self.assertFalse(anonymous_partner.exists()) |
| 109 | + self.assertFalse(anonymous_cart.exists()) |
| 110 | + partner = self. env[ "res.partner"]. search([( "email", "=", "[email protected]")]) |
| 111 | + cart = self.env["sale.order"].search([("partner_id", "=", partner.id)]) |
| 112 | + self.assertEqual(len(cart.order_line), 1) |
| 113 | + self.assertEqual(cart.order_line[0].product_id, product) |
| 114 | + |
82 | 115 | def test_signout(self):
|
83 | 116 | self.validator.write({"cookie_enabled": True, "cookie_name": "test_cookie"})
|
84 | 117 | token = self._get_token()
|
|
0 commit comments