seitime-frappe/frappe/tests/test_helpers.py
Soham Kulkarni 64db88228f
refactor: seperate blogs into a seperate app (#32737)
* fix: remove doctypes,workspace blocks, files

* fix: minor python tests and UI tests

* fix: remove blog post from tests

* fix: remove blogger as role for tests

* fix: add check for if doctype exists

* fix: ui test

* fix: more cleanup

* fix: cleanup comments and fix test_query

* fix: resolve conflicts

* fix: add warning and handle comments
2025-07-28 14:35:02 +05:30

271 lines
6.6 KiB
Python

import frappe
def create_test_blog_post():
test_blog_doc = frappe.get_doc(
{
"doctype": "DocType",
"name": "Test Blog Post",
"allow_guest_to_view": 1,
"module": "Custom",
"custom": 1,
"title_field": "title",
"autoname": "field:title",
"naming_rule": "By fieldname",
"make_attachments_public": 1,
"owner": "Administrator",
"fields": [
{
"fieldname": "blog_category",
"fieldtype": "Link",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Test Blog Category",
"options": "Test Blog Category",
"reqd": 1,
},
{
"fieldname": "blogger",
"fieldtype": "Link",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Test Blogger",
"options": "Test Blogger",
"reqd": 1,
},
{
"description": "Description for listing page, in plain text, only a couple of lines. (max 200 characters)",
"fieldname": "blog_intro",
"fieldtype": "Small Text",
"label": "Blog Intro",
},
{
"depends_on": "eval:doc.content_type === 'Rich Text'",
"fieldname": "content",
"fieldtype": "Text Editor",
"ignore_xss_filter": 1,
"in_global_search": 1,
"label": "Content",
},
{
"fieldname": "title",
"fieldtype": "Data",
"in_global_search": 1,
"label": "Title",
"no_copy": 1,
"reqd": 1,
},
{
"default": "0",
"fieldname": "published",
"fieldtype": "Check",
"hidden": 1,
"label": "Published",
},
],
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Website Manager",
"share": 1,
"write": 1,
},
{
"create": 1,
"email": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Blogger",
"share": 1,
"write": 1,
},
],
}
)
test_blog_doc.insert(ignore_if_duplicate=True, ignore_links=True)
create_test_blog_records()
def create_test_blog_records():
test_blog_records = [
{
"blog_category": "_Test Blog Category",
"blog_intro": "Test Blog Intro",
"blogger": "_Test Blogger",
"content": "Test Blog Content",
"doctype": "Test Blog Post",
"title": "_Test Blog Post",
"published": 1,
},
{
"blog_category": "_Test Blog Category 1",
"blog_intro": "Test Blog Intro",
"blogger": "_Test Blogger",
"content": "Test Blog Content",
"doctype": "Test Blog Post",
"title": "_Test Blog Post 1",
"published": 1,
},
{
"blog_category": "_Test Blog Category 1",
"blog_intro": "Test Blog Intro",
"blogger": "_Test Blogger 1",
"content": "Test Blog Content",
"doctype": "Test Blog Post",
"title": "_Test Blog Post 2",
"published": 0,
},
{
"blog_category": "_Test Blog Category 1",
"blog_intro": "Test Blog Intro",
"blogger": "_Test Blogger 2",
"content": "Test Blog Content",
"doctype": "Test Blog Post",
"title": "_Test Blog Post 3",
"published": 0,
},
]
for r in test_blog_records:
frappe.get_doc(r).insert(ignore_if_duplicate=True, ignore_links=True)
def create_test_blog_category():
frappe.get_doc(
{
"doctype": "DocType",
"autoname": "field:title",
"name": "Test Blog Category",
"module": "Custom",
"custom": 1,
"make_attachments_public": 1,
"naming_rule": "By fieldname",
"fields": [
{
"fieldname": "title",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Title",
"no_copy": 1,
"reqd": 1,
},
{
"default": "1",
"fieldname": "published",
"fieldtype": "Check",
"in_list_view": 1,
"label": "Published",
},
{
"depends_on": "published",
"fieldname": "route",
"fieldtype": "Data",
"label": "Route",
"read_only": 1,
"unique": 1,
},
],
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Website Manager",
"share": 1,
"write": 1,
},
{"email": 1, "print": 1, "read": 1, "role": "Blogger"},
],
}
).insert(ignore_if_duplicate=True, ignore_links=True)
create_blog_category_records()
def create_blog_category_records():
test_blog_category_records = [
{"doctype": "Test Blog Category", "parent_website_route": "blog", "title": "_Test Blog Category"},
{"doctype": "Test Blog Category", "parent_website_route": "blog", "title": "_Test Blog Category 1"},
{"doctype": "Test Blog Category", "parent_website_route": "blog", "title": "_Test Blog Category 2"},
]
for r in test_blog_category_records:
frappe.get_doc(r).insert(ignore_if_duplicate=True, ignore_links=True)
def create_test_blogger():
frappe.get_doc(
{
"doctype": "DocType",
"name": "Test Blogger",
"module": "Custom",
"custom": 1,
"autoname": "field:short_name",
"make_attachments_public": 1,
"naming_rule": "By fieldname",
"fields": [
{"default": "0", "fieldname": "disabled", "fieldtype": "Check", "label": "Disabled"},
{
"description": "Will be used in url (usually first name).",
"fieldname": "short_name",
"fieldtype": "Data",
"label": "Short Name",
"reqd": 1,
"unique": 1,
},
{
"fieldname": "full_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Full Name",
"reqd": 1,
},
{"fieldname": "user", "fieldtype": "Link", "label": "User", "options": "User"},
{"fieldname": "bio", "fieldtype": "Small Text", "label": "Bio"},
{"fieldname": "avatar", "fieldtype": "Attach Image", "label": "Avatar"},
],
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Website Manager",
"share": 1,
"write": 1,
},
{"email": 1, "print": 1, "read": 1, "role": "Blogger", "share": 1, "write": 1},
],
}
).insert(ignore_if_duplicate=True, ignore_links=True)
create_test_blogger_records()
def create_test_blogger_records():
test_blogger_records = [
{"doctype": "Test Blogger", "full_name": "_Test Blogger", "short_name": "_Test Blogger"},
{"doctype": "Test Blogger", "full_name": "_Test Blogger 1", "short_name": "_Test Blogger 1"},
{"doctype": "Test Blogger", "full_name": "_Test Blogger 2", "short_name": "_Test Blogger 2"},
]
for r in test_blogger_records:
frappe.get_doc(r).insert(ignore_if_duplicate=True, ignore_links=True)
def setup_for_tests():
frappe.set_user("Administrator")
frappe.delete_doc_if_exists("DocType", "Test Blog Post")
frappe.delete_doc_if_exists("DocType", "Test Blog Category")
frappe.delete_doc_if_exists("DocType", "Test Blogger")
create_test_blog_category()
create_test_blogger()
create_test_blog_post()