コード例 #1
0
 def test_newDuplicateNullEmail(self):
     Provider.create(name="Test Provider",
                     telephone="1234567891",
                     email='',
                     categories=[Category.query.get(1)])
     p = Provider.query.filter_by(name="Test Provider").first()
     assert p is not None
コード例 #2
0
def provider_add():
    """Adds provider to db."""
    form = ProviderAddForm()
    form.populate_choices()
    form_dict = form.data
    if form.validate_on_submit():
        address = Address(unknown=form.address.unknown.data,
                          line1=form.address.line1.data,
                          line2=form.address.line2.data,
                          city=form.address.city.data,
                          state_id=form.address.state.data,
                          zip=form.address.zip.data)
        categories = [Category.query.get(cat) for cat in form.category.data]
        provider = Provider.create(name=form.name.data,
                                   email=form.email.data,
                                   telephone=form.telephone.data,
                                   website=form.website.data,
                                   address=address,
                                   categories=categories)
        address.get_coordinates()
        flash(provider.name + " added.")
        return redirect(url_for("main.index"))
    elif request.method == "POST" and not form.validate():
        flash("Failed to add provider")
        return render_template("provideradd.html",
                               title="Add Provider",
                               form=form,
                               form_dict=form_dict), 422
    if not current_user.email_verified:
        disableForm(form)
        flash("Form disabled. Please verify email to unlock.")
    return render_template("provideradd.html",
                           title="Add Provider",
                           form=form,
                           form_dict=form_dict)
コード例 #3
0
def seed_initial_user():
    session = Session(bind=op.get_bind())
    BaseModel.set_session(session)
    provider = Provider.create(name="fpx")
    password = None
    try:
        password = os.environ["FIRST_SUPERUSER_PASSWORD"].encode("utf-8")
    except KeyError:
        print("You must set env variable USER_PASSWORD!!!")
        exit()

    user = User.create(
        email=os.environ.get("FIRST_SUPERUSER", "*****@*****.**"),
        provider_uuid=provider.uuid,
        password=bcrypt.hashpw(password, bcrypt.gensalt()).decode("utf-8"),
    )
    print("Your master user token: " + create_access_token(str(user.uuid)))
コード例 #4
0
ファイル: conftest.py プロジェクト: dleister77/Ask
def test_db(app):
    db.drop_all()
    db.create_all()
    # define categories
    State.create(id=1, name="North Carolina", state_short="NC")
    State.create(id=2, name="New York", state_short="NY")
    Sector.create(id=1, name="Home Services")
    Sector.create(id=2, name="Food & Drink")
    c1 = Category.create(id=1, name="Electrician", sector_id=1)
    c2 = Category.create(id=2, name="Plumber", sector_id=1)
    Category.create(id=3, name="Mexican Restaurant", sector_id=2)
    a1 = Address.create(
        line1="13 Brook St", city="Lakewood", zip="14750", state_id=2,
        latitude=42.100201, longitude=-79.340303
    )

    # add test users
    u1 = User.create(
        id=1, username="******", first_name="Sarah", last_name="Smith",
        email="*****@*****.**", address=a1
    )
    u2 = User.create(
        id=2, username="******", first_name="John", last_name="Jones",
        email="*****@*****.**",
        address=Address(
            line1="7708 covey chase Dr", line2='', city="Charlotte",
            zip="28210", state_id=1, latitude=35.123949, longitude=-80.864783
        )
    )
    u3 = User.create(
        id=3, username="******", first_name="Mark", last_name="Johnson",
        email="*****@*****.**",
        address=Address(
            line1="7718 Covey Chase Dr", line2='', city="Charlotte",
            zip="28210", state_id=1, latitude=35.123681, longitude=-80.865045
        )
    )
    User.create(
        id=4, username="******", first_name="Hyman",
        last_name="Rickover", email="*****@*****.**",
        address=Address(
            line1="7920 Covey Chase Dr", line2='', city="Charlotte",
            zip="28210", state_id=1, latitude=35.120759, longitude=-80.865781
        )
    )

    # add test providers
    p1 = Provider.create(
        id=1, name="Douthit Electrical", telephone="704-726-3329",
        email="*****@*****.**",
        website='https://www.douthitelectrical.com/', categories=[c1, c2],
        address=Address(
            line1="6000 Fairview Rd", line2="suite 1200", city="Charlotte",
            zip="28210", state_id=1, latitude=35.150495, longitude=-80.838958
        )
    )
    Provider.create(
        id=2, name="Evers Electric", telephone="7048431910", email='',
        website='http://www.everselectric.com/', categories=[c1],
        address=Address(
            line1="3924 Cassidy Drive", line2="", city="Waxhaw", zip="28173",
            state_id=1, latitude=34.938645, longitude=-80.760691
        )
    )
    p3 = Provider.create(
        id=3, name="Preferred Electric Co", telephone="7043470446",
        email="*****@*****.**", categories=[c1],
        address=Address(
            line1="4113 Yancey Rd", line2='', city="charlotte", zip="28217",
            state_id=1, latitude=35.186947, longitude=-80.880459
        )
    )
    p4 = Provider.create(
        id=4, name="Basic Electric Co", telephone="7044070077",
        email="*****@*****.**", is_active=False, categories=[c1],
        address=Address(
            line1="7708 Covey Chase Dr", line2='', city="Charlotte",
            zip="28217", state_id=1, latitude=35.123949, longitude=-80.865781
        )
    )

    # add test groups
    g1 = Group.create(
        id=1, name="QHIV HOA", description="Hoa for the neighborhood",
        admin_id=2
    )
    Group.create(
        id=2, name="Shannon's Bees",
        description="Insects that like to make honey", admin_id=2
    )
    Group.create(
        id=3, name="Shawshank Redemption Fans", description="test", admin_id=3
    )

    # add test reviews
    Review.create(
        id=1, user=u2, provider=p1, category=c1, rating=3, cost=3,
        description="fixed a light bulb", comments="satisfactory work.",
        pictures=[
            Picture(
                path=os.path.join(
                    app.config['MEDIA_FOLDER'], '2', 'test1.jpg'
                ),
                name='test1.jpg'
            )
        ]
    )
    Review.create(
        id=2, user=u3, provider=p1, category=c1, rating=5, cost=5,
        price_paid="", description="installed breaker box",
        comments="very clean"
    )
    Review.create(
        id=3, user=u1, provider=p1, category=c1, rating=1, cost=5,
        price_paid="", description="test", comments="Test"
    )
    Review.create(
        id=4, user=u2, provider=p3, category=c1, rating=5, cost=2,
        price_paid="", description="test", comments="Test123",
        service_date=date(2019, 5, 1)
    )
    Review.create(
        id=5, user=u2, provider=p3, category=c1, rating=4, cost=3,
        price_paid="", description="moretest", comments="Test123456",
        service_date=date(2019, 5, 1)
    )
    Review.create(
        id=6, user=u1, provider=p1, category=c1, rating=1, cost=5,
        price_paid="", description="yetanothertest", comments="Testing"
    )

    Review.create(
        id=7, user=u2, provider=p4, category=c1, rating=1, cost=1,
        price_paid=100, description="getting electrocuted",
        comments="terrible"
    )

    # add test relationships
    u2.add(u1)
    u2.add(g1)
    u3.add(g1)

    # set user passwords
    u1.set_password("password1234")
    u2.set_password("password")
    u3.set_password("password5678")

    # set starting messages
    Message.send_new(
        dict(user_id=1), dict(user_id=2), "test subject", "test body"
    )
    time.sleep(1)
    Message.send_new(
        dict(user_id=2), dict(full_name="admin"), "test admin subject",
        "test adminbody", msg_type="admin"
    )
    Message.send_new(
        dict(user_id=1), dict(user_id=2), "yet another test subject",
        " yet another test body"
    )

    yield db

    db.session.remove()
    db.drop_all()
コード例 #5
0
 def test_newDuplicateTelephone(self):
     with pytest.raises(IntegrityError):
         Provider.create(name="Test Provider",
                         email="*****@*****.**",
                         telephone="7047263329",
                         categories=[Category.query.get(1)])
コード例 #6
0
 def test_newDuplicateEmail(self):
     with pytest.raises(IntegrityError):
         Provider.create(name="Test Provider",
                         email="*****@*****.**",
                         telephone="1234567891",
                         categories=[Category.query.get(1)])
コード例 #7
0
 def test_newMissingRequiredEmptyString(self, newProviderDict, key):
     newProviderDict[key] = ''
     with pytest.raises(IntegrityError):
         Provider.create(**newProviderDict)
コード例 #8
0
 def test_newMissingAddress(self, newProviderDict, key):
     newProviderDict[key] = None
     with pytest.raises(AssertionError):
         Provider.create(**newProviderDict)
コード例 #9
0
 def test_newValid(self, newProviderDict, newAddressDict, mockGeoResponse):
     new = Provider.create(**newProviderDict)
     assert new.name == newProviderDict['name']
     assert new.email == newProviderDict['email']
コード例 #10
0
def provider2(db, request):
    from app.models import Provider

    provider = Provider.create(name="test-provider2")
    Provider.session.commit()
    return provider.to_dict()