def create_interview_and_dependencies(job_applicant, scheduled_on=None, from_time=None, to_time=None, designation=None, save=1): if designation: designation = create_designation( designation_name="_Test_Sales_manager").name interviewer_1 = create_user("*****@*****.**", "Interviewer") interviewer_2 = create_user("*****@*****.**", "Interviewer") interview_round = create_interview_round("Technical Round", ["Python", "JS"], designation=designation, save=True) interview = frappe.new_doc("Interview") interview.interview_round = interview_round.name interview.job_applicant = job_applicant interview.scheduled_on = scheduled_on or getdate() interview.from_time = from_time or nowtime() interview.to_time = to_time or nowtime() interview.append("interview_details", {"interviewer": interviewer_1.name}) interview.append("interview_details", {"interviewer": interviewer_2.name}) if save: interview.save() return interview
def test_add_remove_in_wishlist_multiple_users(self): "Check if items are added and removed from the correct user's wishlist." test_user = create_user("*****@*****.**", "Customer") test_user_1 = create_user("*****@*****.**", "Customer") # add to wishlist for first user frappe.set_user(test_user.name) add_to_wishlist("Test Phone Series X") # add to wishlist for second user frappe.set_user(test_user_1.name) add_to_wishlist("Test Phone Series X") # check wishlist and its content for users self.assertTrue(frappe.db.exists("Wishlist", {"user": test_user.name})) self.assertTrue( frappe.db.exists("Wishlist Item", { "item_code": "Test Phone Series X", "parent": test_user.name })) self.assertTrue( frappe.db.exists("Wishlist", {"user": test_user_1.name})) self.assertTrue( frappe.db.exists("Wishlist Item", { "item_code": "Test Phone Series X", "parent": test_user_1.name })) # remove item for second user remove_from_wishlist("Test Phone Series X") # make sure item was removed for second user and not first self.assertFalse( frappe.db.exists("Wishlist Item", { "item_code": "Test Phone Series X", "parent": test_user_1.name })) self.assertTrue( frappe.db.exists("Wishlist Item", { "item_code": "Test Phone Series X", "parent": test_user.name })) # remove item for first user frappe.set_user(test_user.name) remove_from_wishlist("Test Phone Series X") self.assertFalse( frappe.db.exists("Wishlist Item", { "item_code": "Test Phone Series X", "parent": test_user.name })) # tear down frappe.set_user("Administrator") frappe.get_doc("Wishlist", {"user": test_user.name}).delete() frappe.get_doc("Wishlist", {"user": test_user_1.name}).delete()
def test_save_or_delete_report(self): """Test for validations when editing / deleting report of type Report Builder""" try: report = frappe.get_doc({ "doctype": "Report", "ref_doctype": "User", "report_name": "Test Delete Report", "report_type": "Report Builder", "is_standard": "No", }).insert() # Check for PermissionError create_user("*****@*****.**", "Website Manager") frappe.set_user("*****@*****.**") self.assertRaises(frappe.PermissionError, delete_report, report.name) # Check for Report Type frappe.set_user("Administrator") report.db_set("report_type", "Custom Report") self.assertRaisesRegex( frappe.ValidationError, "Only reports of type Report Builder can be deleted", delete_report, report.name, ) # Check if creating and deleting works with proper validations frappe.set_user("*****@*****.**") report_name = _save_report( "Dummy Report", "User", json.dumps([{ "fieldname": "email", "fieldtype": "Data", "label": "Email", "insert_after_index": 0, "link_field": "name", "doctype": "User", "options": "Email", "width": 100, "id": "email", "name": "Email", }]), ) doc = frappe.get_doc("Report", report_name) delete_report(doc.name) finally: frappe.set_user("Administrator") frappe.db.rollback()
def test_add_and_get_item_reviews_from_customer(self): "Add / Get Reviews from a User that is a valid customer (has added to cart or purchased in the past)" # create user web_item = frappe.db.get_value("Website Item", {"item_code": "Test Mobile Phone"}) test_user = create_user("*****@*****.**", "Customer") frappe.set_user(test_user.name) # create customer and contact against user customer = get_party() # post review on "Test Mobile Phone" try: add_item_review(web_item, "Great Product", 3, "Would recommend this product") review_name = frappe.db.get_value("Item Review", {"website_item": web_item}) except Exception: self.fail(f"Error while publishing review for {web_item}") review_data = get_item_reviews(web_item, 0, 10) self.assertEqual(len(review_data.reviews), 1) self.assertEqual(review_data.average_rating, 3) self.assertEqual(review_data.reviews_per_rating[2], 100) # tear down frappe.set_user("Administrator") frappe.delete_doc("Item Review", review_name) customer.delete()
def create_issue_and_communication(issue_creation, first_responded_on): issue = make_issue(issue_creation, index=1) sender = create_user("*****@*****.**") create_communication(issue.name, sender.email, "Sent", first_responded_on) issue.reload() return issue
def test_add_item_review_from_non_customer(self): "Check if logged in user (who is not a customer yet) is blocked from posting reviews." web_item = frappe.db.get_value("Website Item", {"item_code": "Test Mobile Phone"}) test_user = create_user("*****@*****.**", "Customer") frappe.set_user(test_user.name) with self.assertRaises(UnverifiedReviewer): add_item_review(web_item, "Great Product", 3, "Would recommend this product") # tear down frappe.set_user("Administrator")
def create_exit_interview(employee, save=True): interviewer = create_user("*****@*****.**") doc = frappe.get_doc({ "doctype": "Exit Interview", "employee": employee, "company": "_Test Company", "status": "Pending", "date": getdate(), "interviewers": [{ "interviewer": interviewer.name }], "interview_summary": "Test", }) if save: return doc.insert() return doc