Best Python code snippet using hypothesis
test_customize_form.py
Source:test_customize_form.py  
1# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors2# MIT License. See license.txt3from __future__ import unicode_literals4import frappe, unittest, json5from frappe.test_runner import make_test_records_for_doctype6from frappe.core.doctype.doctype.doctype import InvalidFieldNameError7test_dependencies = ["Custom Field", "Property Setter"]8class TestCustomizeForm(unittest.TestCase):9	def insert_custom_field(self):10		frappe.delete_doc_if_exists("Custom Field", "User-test_custom_field")11		frappe.get_doc({12			"doctype": "Custom Field",13			"dt": "User",14			"label": "Test Custom Field",15			"description": "A Custom Field for Testing",16			"fieldtype": "Select",17			"in_list_view": 1,18			"options": "\nCustom 1\nCustom 2\nCustom 3",19			"default": "Custom 3",20			"insert_after": frappe.get_meta('User').fields[-1].fieldname21		}).insert()22	def setUp(self):23		self.insert_custom_field()24		frappe.db.commit()25		frappe.clear_cache(doctype="User")26	def tearDown(self):27		frappe.delete_doc("Custom Field", "User-test_custom_field")28		frappe.db.commit()29		frappe.clear_cache(doctype="User")30	def get_customize_form(self, doctype=None):31		d = frappe.get_doc("Customize Form")32		if doctype:33			d.doc_type = doctype34		d.run_method("fetch_to_customize")35		return d36	def test_fetch_to_customize(self):37		d = self.get_customize_form()38		self.assertEquals(d.doc_type, None)39		self.assertEquals(len(d.get("fields")), 0)40		d = self.get_customize_form("Event")41		self.assertEquals(d.doc_type, "Event")42		self.assertEquals(len(d.get("fields")), 28)43		d = self.get_customize_form("User")44		self.assertEquals(d.doc_type, "User")45		self.assertEquals(len(d.get("fields")), len(frappe.get_doc("DocType", d.doc_type).fields) + 1)46		self.assertEquals(d.get("fields")[-1].fieldname, "test_custom_field")47		self.assertEquals(d.get("fields", {"fieldname": "location"})[0].in_list_view, 1)48		return d49	def test_save_customization_property(self):50		d = self.get_customize_form("User")51		self.assertEquals(frappe.db.get_value("Property Setter",52			{"doc_type": "User", "property": "allow_copy"}, "value"), None)53		d.allow_copy = 154		d.run_method("save_customization")55		self.assertEquals(frappe.db.get_value("Property Setter",56			{"doc_type": "User", "property": "allow_copy"}, "value"), '1')57		d.allow_copy = 058		d.run_method("save_customization")59		self.assertEquals(frappe.db.get_value("Property Setter",60			{"doc_type": "User", "property": "allow_copy"}, "value"), None)61	def test_save_customization_field_property(self):62		d = self.get_customize_form("User")63		self.assertEquals(frappe.db.get_value("Property Setter",64			{"doc_type": "User", "property": "reqd", "field_name": "location"}, "value"), None)65		location_field = d.get("fields", {"fieldname": "location"})[0]66		location_field.reqd = 167		d.run_method("save_customization")68		self.assertEquals(frappe.db.get_value("Property Setter",69			{"doc_type": "User", "property": "reqd", "field_name": "location"}, "value"), '1')70		location_field = d.get("fields", {"fieldname": "location"})[0]71		location_field.reqd = 072		d.run_method("save_customization")73		self.assertEquals(frappe.db.get_value("Property Setter",74			{"doc_type": "User", "property": "reqd", "field_name": "location"}, "value"), None)75	def test_save_customization_custom_field_property(self):76		d = self.get_customize_form("User")77		self.assertEquals(frappe.db.get_value("Custom Field", "User-test_custom_field", "reqd"), 0)78		custom_field = d.get("fields", {"fieldname": "test_custom_field"})[0]79		custom_field.reqd = 180		d.run_method("save_customization")81		self.assertEquals(frappe.db.get_value("Custom Field", "User-test_custom_field", "reqd"), 1)82		custom_field = d.get("fields", {"is_custom_field": True})[0]83		custom_field.reqd = 084		d.run_method("save_customization")85		self.assertEquals(frappe.db.get_value("Custom Field", "User-test_custom_field", "reqd"), 0)86	def test_save_customization_new_field(self):87		d = self.get_customize_form("User")88		last_fieldname = d.fields[-1].fieldname89		d.append("fields", {90			"label": "Test Add Custom Field Via Customize Form",91			"fieldtype": "Data",92			"__islocal": 193		})94		d.run_method("save_customization")95		self.assertEquals(frappe.db.get_value("Custom Field",96			"User-test_add_custom_field_via_customize_form", "fieldtype"), "Data")97		self.assertEquals(frappe.db.get_value("Custom Field",98			"User-test_add_custom_field_via_customize_form", 'insert_after'), last_fieldname)99		frappe.delete_doc("Custom Field", "User-test_add_custom_field_via_customize_form")100		self.assertEquals(frappe.db.get_value("Custom Field",101			"User-test_add_custom_field_via_customize_form"), None)102	def test_save_customization_remove_field(self):103		d = self.get_customize_form("User")104		custom_field = d.get("fields", {"fieldname": "test_custom_field"})[0]105		d.get("fields").remove(custom_field)106		d.run_method("save_customization")107		self.assertEquals(frappe.db.get_value("Custom Field", custom_field.name), None)108		frappe.local.test_objects["Custom Field"] = []109		make_test_records_for_doctype("Custom Field")110	def test_reset_to_defaults(self):111		d = frappe.get_doc("Customize Form")112		d.doc_type = "User"113		d.run_method('reset_to_defaults')114		self.assertEquals(d.get("fields", {"fieldname": "location"})[0].in_list_view, 0)115		frappe.local.test_objects["Property Setter"] = []116		make_test_records_for_doctype("Property Setter")117	def test_set_allow_on_submit(self):118		d = self.get_customize_form("User")119		d.get("fields", {"fieldname": "first_name"})[0].allow_on_submit = 1120		d.get("fields", {"fieldname": "test_custom_field"})[0].allow_on_submit = 1121		d.run_method("save_customization")122		d = self.get_customize_form("User")123		# don't allow for standard fields124		self.assertEquals(d.get("fields", {"fieldname": "first_name"})[0].allow_on_submit or 0, 0)125		# allow for custom field126		self.assertEquals(d.get("fields", {"fieldname": "test_custom_field"})[0].allow_on_submit, 1)127	def test_title_field_pattern(self):128		d = self.get_customize_form("Web Form")129		df = d.get("fields", {"fieldname": "title"})[0]130		# invalid fieldname131		df.options = """{doc_type} - {introduction_test}"""132		self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization")133		# space in formatter134		df.options = """{doc_type} - {introduction text}"""135		self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization")136		# valid fieldname137		df.options = """{doc_type} - {introduction_text}"""138		d.run_method("save_customization")139		# valid fieldname with escaped curlies140		df.options = """{{ {doc_type} }} - {introduction_text}"""141		d.run_method("save_customization")142		# undo143		df.options = None...test_subscribers.py
Source:test_subscribers.py  
1import os2from functools import partial3from operator import contains4from pytest import mark5pytestmark = mark.skipif(os.getenv('TEST_LIVE') != "True", reason="tests against a real, live Drip account")6def test_create_update_subscriber(live_client):7    check = live_client.session.get('https://api.getdrip.com/v2/5706364/subscribers/ross.hodapp+drip-python@drip.com').json()['subscribers'][0]8    assert 'custom_fields' in check9    assert 'test_custom_field' in check['custom_fields']10    assert check['custom_fields']['test_custom_field'] == 'init'11    response = live_client.create_or_update_subscriber('ross.hodapp+drip-python@drip.com', custom_fields={'test_custom_field': '1'})12    p_contains = partial(contains, response)13    assert type(response) == dict14    assert len(response) == 2115    assert all(map(p_contains, ['id', 'status', 'email', 'eu_consent', 'time_zone', 'utc_offset', 'visitor_uuid', 'custom_fields', 'tags',16                                'ip_address', 'user_agent', 'original_referrer', 'landing_url', 'prospect', 'lead_score', 'lifetime_value',17                                'created_at', 'href', 'user_id', 'base_lead_score', 'links']))18    confirm = live_client.session.get('https://api.getdrip.com/v2/5706364/subscribers/ross.hodapp+drip-python@drip.com').json()['subscribers'][0]19    assert 'custom_fields' in confirm20    assert 'test_custom_field' in confirm['custom_fields']21    assert confirm['custom_fields']['test_custom_field'] == '1'22    # cleanup23    live_client.session.post(24        'https://api.getdrip.com/v2/5706364/subscribers',25        json={'subscribers': [{'email': 'ross.hodapp+drip-python@drip.com', 'custom_fields': {'test_custom_field': 'init'}}]}26    )27    response = live_client.create_or_update_subscriber('ross.hodapp+drip-python@drip.com', option='option')28def test_subscribers(live_client):29    response = live_client.subscribers()30    assert type(response) == list31    assert len(response) == 132def test_subscriber(live_client):33    response = live_client.subscriber('ross.hodapp+drip-python@drip.com')34    p_contains = partial(contains, response)35    assert type(response) == dict36    assert len(response) == 2137    assert all(map(p_contains, ['id', 'status', 'email', 'eu_consent', 'time_zone', 'utc_offset', 'visitor_uuid', 'custom_fields', 'tags',38                                'ip_address', 'user_agent', 'original_referrer', 'landing_url', 'prospect', 'lead_score', 'lifetime_value',39                                'created_at', 'href', 'user_id', 'base_lead_score', 'links']))40    assert response['email'] == 'ross.hodapp+drip-python@drip.com'41@mark.skip(reason="no way of currently testing this without manual setup, since the API can't re-subscribe someone")42def test_unsubscribe(live_client):43    response = live_client.unsubscribe('ross.hodapp+unsubscribed@drip.com')44    assert type(response) == dict45@mark.skip(reason="no way of currently testing this without manual setup, since the API can't re-subscribe someone")46def test_unsubscribe_from_all(live_client):47    response = live_client.unsubscribe_from_all('ross.hodapp+unsubscribed@drip.com')48    assert type(response) == dict49@mark.skip(reason="no way of currently testing this without manual setup, since the API can't un-delete someone")50def test_delete_subscriber(live_client):51    response = live_client.delete_subscriber('ross.hodapp+delete@drip.com')52    assert type(response) == bool...test_batches.py
Source:test_batches.py  
1import os2from time import sleep3from pytest import mark4pytestmark = mark.skipif(os.getenv('TEST_LIVE') != "True", reason="tests against a real, live Drip account")5def test_create_or_update_subscribers(live_client):6    check = live_client.session.get('https://api.getdrip.com/v2/5706364/subscribers/ross.hodapp+drip-python@drip.com').json()['subscribers'][0]7    assert 'custom_fields' in check8    assert 'test_custom_field' in check['custom_fields']9    assert check['custom_fields']['test_custom_field'] == 'init'10    response = live_client.create_or_update_subscribers(11        [12            {'email': 'ross.hodapp+drip-python@drip.com', 'custom_fields': {'test_custom_field': '1'}}13        ]14    )15    assert type(response) == bool16    assert response17    sleep(2)  # (!)18    confirm = live_client.session.get('https://api.getdrip.com/v2/5706364/subscribers/ross.hodapp+drip-python@drip.com').json()['subscribers'][0]19    assert 'custom_fields' in confirm20    assert 'test_custom_field' in confirm['custom_fields']21    assert confirm['custom_fields']['test_custom_field'] == '1'22    # cleanup23    live_client.session.post(24        'https://api.getdrip.com/v2/5706364/subscribers',25        json={'subscribers': [{'email': 'ross.hodapp+drip-python@drip.com', 'custom_fields': {'test_custom_field': 'init'}}]}26    )27@mark.skip(reason="no way of currently testing this without manual setup, since the API can't re-subscribe someone")28def test_unsubscribe_subscribers(live_client):29    response = live_client.unsubscribe_subscribers(30        [31            {'email': 'ross.hodapp+drip-python@drip.com'}32        ]33    )34    assert type(response) == bool35    assert response36def test_track_events(live_client):37    response = live_client.track_events(38        [39            {'email': 'ross.hodapp+drip-python@drip.com', 'action': 'Test custom event', 'properties': {'a': 1}},40            {'email': 'ross.hodapp+drip-python@drip.com', 'action': 'Test custom event', 'properties': {'a': 2}}41        ]42    )43    assert type(response) == bool44    assert response45def test_orders(live_client):46    response = live_client.orders(47        [48            {49                'provider': 'drip-python',50                'email': 'ross.hodapp+drip-python@drip.com',51                'action': 'placed',52                'order_id': '1234'53            }54        ]55    )56    assert type(response) == bool...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
