Skip to content

Commit

Permalink
[IMP] fs_attachment: add test for recompute_urls
Browse files Browse the repository at this point in the history
  • Loading branch information
PabloEForgeFlow authored and lmignon committed Oct 7, 2024
1 parent 0cbe176 commit 9bf3961
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions fs_attachment/tests/test_fs_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,3 +323,52 @@ def test_force_field_and_model_create_attachment(self):
self.env.flush_all()

self.assertFalse(attachment.fs_storage_code)

def test_recompute_urls(self):
"""
Mark temp_backend as default and set its base_url.
Create one attachment in temp_backend that is linked to a field and one that is not.
* Check that after updating the base_url for the backend, executing recompute_urls
updates fs_url for both attachments, whether they are linked to a field or not
"""
self.temp_backend.base_url = "https://acsone.eu/media"
self.temp_backend.use_as_default_for_attachments = True
self.ir_attachment_model.create(
{
"name": "field.txt",
"raw": "Attachment linked to a field",
"res_model": "res.partner",
"res_field": "name",
}
)
self.ir_attachment_model.create(
{
"name": "no_field.txt",
"raw": "Attachment not linked to a field",
}
)
self.env.flush_all()

self.env.cr.execute(
f"""
SELECT COUNT(*)
FROM ir_attachment
WHERE fs_storage_id = {self.temp_backend.id}
AND fs_url LIKE '{self.temp_backend.base_url}%'
"""
)
self.assertEqual(self.env.cr.dictfetchall()[0].get("count"), 2)

self.temp_backend.base_url = "https://forgeflow.com/media"
self.temp_backend.recompute_urls()
self.env.flush_all()

self.env.cr.execute(
f"""
SELECT COUNT(*)
FROM ir_attachment
WHERE fs_storage_id = {self.temp_backend.id}
AND fs_url LIKE '{self.temp_backend.base_url}%'
"""
)
self.assertEqual(self.env.cr.dictfetchall()[0].get("count"), 2)

0 comments on commit 9bf3961

Please sign in to comment.