Example #1
0
def verify(institute_id, case_name, variant_id, variant_category, order):
    """Start procedure to validate variant using other techniques."""
    comment = request.form.get("verification_comment")

    try:
        variant_verification(
            store=store,
            institute_id=institute_id,
            case_name=case_name,
            comment=comment,
            variant_id=variant_id,
            sender=current_app.config.get("MAIL_USERNAME"),
            variant_url=request.referrer,
            order=order,
            url_builder=url_for,
        )
    except MissingVerificationRecipientError:
        flash("No verification recipients added to institute.", "danger")

    return redirect(request.referrer)
def test_sanger_mail_sent(
    app,
    mock_mail,
    real_variant_database,
    institute_obj,
    case_obj,
    user_obj,
    mock_sender,
    mock_comment,
):
    adapter = real_variant_database
    ## GIVEN we have a variant the we want to order sanger for
    institute_id = institute_obj["_id"]
    case_name = case_obj["display_name"]
    variant_obj = adapter.variant_collection.find_one()
    variant_obj["hgnc_symbols"] = ""
    variant_obj["panels"] = ""
    variant_id = variant_obj["document_id"]

    ## WHEN calling variant_verification method with order==True
    with app.test_client() as client:
        resp = client.get(url_for("auto_login"))

        variant_verification(
            adapter,
            institute_id,
            case_name,
            variant_id,
            mock_sender,
            "complete_variant_url",
            True,
            mock_comment,
            url_builder=mock_url_for,
            mail=mock_mail,
            user_obj=user_obj,
        )

    ## THEN the supplied mail objects send method should have been called
    assert mock_mail._send_was_called
    ## THEN the supplied mail objects send method should have received a message object
    assert mock_mail._message