revops
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
frappe-integration-test-generator
Generate integration tests for multi-DocType workflows in Frappe. Use when testing end-to-end workflows, state transitions, or complex business processes.
Full skill instructions
Generate comprehensive integration tests for multi-DocType workflows and end-to-end business processes in Frappe.
Claude should invoke this skill when:
Complete Sales Workflow Test:
from frappe.tests.utils import FrappeTestCase
import frappe
class TestSalesWorkflow(FrappeTestCase):
def test_complete_sales_cycle(self):
"""Test end-to-end sales process"""
# 1. Create Customer
customer = self._create_test_customer()
# 2. Create Sales Order
so = self._create_sales_order(customer.name)
so.submit()
# 3. Create Sales Invoice from SO
si = self._make_sales_invoice_from_order(so.name)
si.insert()
si.submit()
# 4. Create Payment Entry
pe = self._create_payment_entry(si)
pe.insert()
pe.submit()
# Verify workflow completed
si.reload()
self.assertEqual(si.status, 'Paid')
self.assertEqual(si.outstanding_amount, 0)
def _create_test_customer(self):
return frappe.get_doc({
'doctype': 'Customer',
'customer_name': '_Test Customer',
'customer_group': 'Commercial'
}).insert()
def _create_sales_order(self, customer):
return frappe.get_doc({
'doctype': 'Sales Order',
'customer': customer,
'delivery_date': frappe.utils.add_days(frappe.utils.today(), 7),
'items': [{
'item_code': '_Test Item',
'qty': 10,
'rate': 100
}]
})
Test Document States:
class TestInvoiceStates(FrappeTestCase):
def test_invoice_state_transitions(self):
"""Test all possible state transitions"""
si = self._get_test_invoice()
# Draft state
si.insert()
self.assertEqual(si.docstatus, 0)
self.assertEqual(si.status, 'Draft')
# Submit transition
si.submit()
self.assertEqual(si.docstatus, 1)
self.assertEqual(si.status, 'Submitted')
# Cannot edit submitted
si.customer = 'Different Customer'
with self.assertRaises(frappe.ValidationError):
si.save()
# Cancel transition
si.cancel()
self.assertEqual(si.docstatus, 2)
self.assertEqual(si.status, 'Cancelled')
Integration Test Examples:
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
Strategic planning and optimization for email capture offers and gated content.
Directory submissions: the foundation layer of distribution that passes backlinks and discovery surface area into your marketing pages.
Sequence and choreograph multi-step animations with precise timing control and nested timelines.
Structured framework for planning product launches, feature announcements, and go-to-market strategies.
Upload files to Google Drive with automatic MIME type detection and metadata.
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.
firecrawl lead gen
firecrawl lead research
firecrawl demo walkthrough
Team leadership persona with standup coordination, meeting prep, task delegation, and team communication.
Identify large Google Drive files consuming storage quota.
Revolutionize Video Creation with AI-Generated Avatars and Voices
Social media on autopilot
Design custom logos instantly with AI.
Text-heavy marketing and design images
Boost Your SEO with Content and SEO Silos
Revolutionize Your Marketing with AI-Powered MarketingBlocks!
10X faster & free AI content creation for 100+ use cases
Tribescaler | Make Your Tweets Go Viral