Skip to content

Commit

Permalink
test: use custom workflow for tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rboixaderg committed Jan 19, 2024
1 parent 7d6710d commit c2ed516
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 10 deletions.
8 changes: 0 additions & 8 deletions guillotina/contrib/workflows/base/guillotina_basic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ states:
private:
metadata:
title: Private
translated_title:
en: Private
ca: Privat
es: Privado
actions:
publish:
title: Publish
Expand All @@ -26,10 +22,6 @@ states:
public:
metadata:
title: Public
translated_title:
en: Public
ca: Públic
es: Público
actions:
retire:
title: Retire
Expand Down
96 changes: 94 additions & 2 deletions guillotina/tests/workflows/test_workflow_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,110 @@

pytestmark = pytest.mark.asyncio

guillotina_basic_with_translations = {
"initial_state": "private",
"states": {
"private": {
"metadata": {
"title": "Private",
"translated_title": {
"en": "Private",
"ca": "Privat",
"es": "Privado",
},
},
"actions": {
"publish": {
"title": "Publish",
"metadata": {
"translated_title": {
"en": "Publish",
"ca": "Publicar",
"es": "Publicar",
},
},
"to": "public",
"check_permission": "guillotina.ReviewContent",
}
},
"set_permission": {
"roleperm": [
{
"setting": "Deny",
"role": "guillotina.Anonymous",
"permission": "guillotina.ViewContent",
},
{
"setting": "Deny",
"role": "guillotina.Anonymous",
"permission": "guillotina.AccessContent",
},
{
"setting": "Deny",
"role": "guillotina.Anonymous",
"permission": "guillotina.SearchContent",
},
]
},
},
"public": {
"metadata": {
"title": "Public",
"translated_title": {
"en": "Public",
"ca": "Públic",
"es": "Público",
},
},
"actions": {
"retire": {
"title": "Retire",
"to": "private",
"check_permission": "guillotina.ReviewContent",
},
},
"set_permission": {
"roleperm": [
{
"setting": "AllowSingle",
"role": "guillotina.Anonymous",
"permission": "guillotina.ViewContent",
},
{
"setting": "AllowSingle",
"role": "guillotina.Anonymous",
"permission": "guillotina.AccessContent",
},
{
"setting": "AllowSingle",
"role": "guillotina.Anonymous",
"permission": "guillotina.SearchContent",
},
]
},
},
},
}


@pytest.mark.app_settings(
{
"applications": ["guillotina", "guillotina.contrib.workflows"],
"workflows_content": {"guillotina.interfaces.IContainer": "guillotina_basic"},
"workflows_content": {"guillotina.interfaces.IContainer": "guillotina_basic_with_translations"},
"workflows": {"guillotina_basic_with_translations": guillotina_basic_with_translations},
}
)
async def test_workflow_basic(container_requester):
async with container_requester as requester:
response, _ = await requester("GET", "/db/guillotina/@workflow")
assert response["transitions"][0]["title"] == "Publish"
assert response["transitions"][0]["metadata"] == {}
assert response["transitions"][0]["metadata"] == {
"translated_title": {
"en": "Publish",
"ca": "Publicar",
"es": "Publicar",
}
}

response, _ = await requester("GET", "/db/guillotina")
assert response["review_state"] == "private"
Expand Down

0 comments on commit c2ed516

Please sign in to comment.