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
Exemple #2
0
    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()
Exemple #3
0
    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()
Exemple #5
0
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