def test_workshop_get_json(client, web2py):
    """
        test workshop_get API endpoint
    """
    populate_workshops_for_api_tests(web2py)

    # Check if workshop is in the list
    url = base_url + '/api/workshop_get.json?user=test&key=test&id=1'
    page = urllib.urlopen(url).read()

    json = sj.loads(page)

    workshop = web2py.db.workshops(1)
    fws_wsp = web2py.db.workshops_products(1)
    location = web2py.db.school_locations(1)
    teacher = web2py.db.auth_user(workshop.auth_teacher_id)
    teacher2 = web2py.db.auth_user(workshop.auth_teacher_id2)

    assert json['data']['Startdate'] == str(workshop.Startdate)
    assert json['data']['Enddate'] == str(workshop.Enddate)
    assert json['data']['Name'] == workshop.Name
    assert json['data']['Teacher']['id'] == workshop.auth_teacher_id
    assert json['data']['Teacher']['Name'] == teacher.display_name
    assert json['data']['Teacher2']['id'] == workshop.auth_teacher_id2
    assert json['data']['Teacher2']['Name'] == teacher2.display_name
    assert json['data']['LocationID'] == workshop.school_locations_id
    assert json['data']['Location'] == location.Name
    assert json['data']['Description'] == workshop.Description
Exemple #2
0
def test_event_duplicate(client, web2py):
    """
        Can we duplicate a event?
    """
    populate_workshops_for_api_tests(web2py)

    url = '/events/event_duplicate?wsID=1'
    client.get(url)
    assert client.status == 200

    # Check workshop info
    workshop = web2py.db.workshops(1)
    workshop_copy = web2py.db.workshops(2)

    assert workshop_copy.Name == workshop.Name + ' (Copy)'
    assert workshop_copy.Archived == workshop.Archived
    assert workshop_copy.Startdate == workshop.Startdate
    assert workshop_copy.Enddate == workshop.Enddate
    assert workshop_copy.Starttime == workshop.Starttime
    assert workshop_copy.Endtime == workshop.Endtime
    assert workshop_copy.Description == workshop.Description
    assert workshop_copy.PublicWorkshop == False
    assert workshop_copy.auth_teacher_id == workshop.auth_teacher_id
    assert workshop_copy.auth_teacher_id2 == workshop.auth_teacher_id2


    # check for 4 products & 4 activities
    query = (web2py.db.workshops_products.id>0)
    assert web2py.db(query).count() == 4
    query = (web2py.db.workshops_activities.id>0)
    assert web2py.db(query).count() == 4

    # Check activity info
    activity = web2py.db.workshops_activities(1)
    activity_copy = web2py.db.workshops_activities(3)

    assert activity_copy.Activity == activity.Activity
    assert activity_copy.Activitydate == activity.Activitydate
    assert activity_copy.school_locations_id == activity.school_locations_id
    assert activity_copy.Starttime == activity.Starttime
    assert activity_copy.Endtime == activity.Endtime
    assert activity_copy.Spaces == activity.Spaces
    assert activity_copy.auth_teacher_id == activity.auth_teacher_id
    assert activity_copy.auth_teacher_id2 == activity.auth_teacher_id2

    # Check product info
    product = web2py.db.workshops_products(1)
    product_copy = web2py.db.workshops_products(3)

    assert product_copy.FullWorkshop == product.FullWorkshop
    assert product_copy.Deletable == product.Deletable
    assert product_copy.PublicProduct == product.PublicProduct
    assert product_copy.Name == product.Name
    assert product_copy.Price == product.Price
    assert product_copy.tax_rates_id == product.tax_rates_id
    assert product_copy.ExternalShopURL == product.ExternalShopURL
    assert product_copy.AddToCartText == product.AddToCartText
    assert product_copy.Donation == product.Donation
def test_activity_delete(client, web2py):
    """
        Can we delete an activity and are the dates & times for the db.workshops_record updated?
    """
    populate_workshops_for_api_tests(web2py)

    url = '/events/activity_delete/1/2'
    client.get(url)
    assert client.status == 200

    # Check number of records in table
    assert web2py.db(web2py.db.workshops_activities).count() == 1

    # Check updating of workshop datetime info
    workshop = web2py.db.workshops(1)
    activity = web2py.db.workshops_activities(1)

    assert workshop.Startdate == activity.Activitydate
    assert workshop.Enddate == activity.Activitydate
    assert workshop.Starttime == activity.Starttime
    assert workshop.Endtime == activity.Endtime