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
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