UNPKG

@openactive/models-ts

Version:

JavaScript/TypeScript implementation of OpenActive's data model

153 lines (152 loc) 6.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // This file was generated using the courseinstance_event_example_1.json example from @openactive/data-models const chai_1 = require("chai"); const __1 = require("../.."); describe('data-models example - courseinstance_event_example_1.json', () => { /* Because the tests are also checked by `tsc`, this declaration acts as a test to ensure that the generated type correctly identifies this valid example */ const example = { "@context": [ "https://openactive.io/", "https://openactive.io/ns-beta" ], "@type": "CourseInstance", "name": "Netball Youth Camp", "identifier": 76121, "startDate": "2018-08-01", "endDate": "2018-08-04", "duration": "P3D", "eventSchedule": [ { "@type": "PartialSchedule", "repeatFrequency": "P1W", "startDate": "2018-10-02", "endDate": "2018-11-04", "startTime": "20:15", "endTime": "20:45", "byDay": [ "https://schema.org/Tuesday" ], "scheduleTimezone": "Europe/London" } ], "subEvent": [ { "@type": "Event", "startDate": "2018-10-02T19:15:00Z", "endDate": "2018-10-02T19:45:00Z", "eventStatus": "https://schema.org/EventScheduled", "identifier": 1400109454 }, { "@type": "Event", "startDate": "2018-10-09T19:15:00Z", "endDate": "2018-10-09T19:45:00Z", "eventStatus": "https://schema.org/EventScheduled", "identifier": 1400109455 } ], "eventStatus": "https://schema.org/EventScheduled", "location": { "@type": "Place", "name": "Trent College and The Elms", "address": { "@type": "PostalAddress", "streetAddress": ", Long Eaton", "addressLocality": "Nottingham", "addressRegion": "Nottinghamshire", "postalCode": "NG10 4AD", "addressCountry": "GB" }, "geo": { "@type": "GeoCoordinates", "latitude": 52.901455, "longitude": -1.282734 } }, "leader": [ { "@type": "Person", "jobTitle": "Derbyshire and Nottinghamshire NDO", "name": "Jane Smith", "email": "jane.smith@englandnetball.co.uk" } ], "organizer": { "@type": "Organization", "@id": "https://id.bookingsystem.example.com/organizers/1", "name": "England Netball", "url": "https://www.englandnetball.co.uk" }, "url": "https://www.englandnetball.co.uk/?pagename=session&sessionid=76121NYC006506", "maximumAttendeeCapacity": 30, "remainingAttendeeCapacity": 21, "offers": [ { "@type": "Offer", "name": "Member", "price": 124, "priceCurrency": "GBP" }, { "@type": "Offer", "name": "Non-member", "price": 154, "priceCurrency": "GBP" } ], "instanceOfCourse": { "@type": "Course", "name": "Netball Youth Camp", "description": "Netball Youth Camps give junior netballers the chance to get together with their friends and take to the court in the holidays!\r\n\r\nThe camp is a non-residential holiday camp providing ‘Nothing but Netball’; not only will there be top quality coaching and fun netball activities but there is even an opportunity to meet and be inspired by an elite player.\r\n\r\nIf you are a junior netball lover (or the parent of one!) these are an unmissable holiday activity.", "image": [ { "@type": "ImageObject", "url": "https://www.englandnetball.co.uk/app/uploads/2016/03/Netball-youth-camp-ball.jpg" } ], "url": "https://www.englandnetball.co.uk/NYC", "beta:video": [ { "@type": "VideoObject", "url": "https://www.youtube.com/watch?v=lvlEpaKTotQ" } ], "accessibilitySupport": [ { "@type": "Concept", "@id": "https://openactive.io/accessibility-support#1393f2dc-3fcc-4be9-a99f-f1e51f5ad277", "prefLabel": "Visual impairment", "inScheme": "https://openactive.io/accessibility-support" } ], "accessibilityInformation": "Please contact the centre for more information on the accessibility of this course.", "activity": [ { "@id": "https://openactive.io/activity-list#fbdc35a8-3dd0-40ee-a7ca-6ff40b3e5f90", "@type": "Concept", "prefLabel": "Netball", "inScheme": "https://openactive.io/activity-list" } ], "author": "https://id.bookingsystem.example.com/organizers/1", "ageRange": { "@type": "QuantitativeValue", "minValue": 11, "maxValue": 16 }, "genderRestriction": "https://openactive.io/NoRestriction", "level": [ "Beginner" ], "category": [ "Holiday camps" ] } }; it('should validate correctly', () => { const result = __1.validateCourseInstance(example); chai_1.expect(result).to.not.be.an.instanceof(__1.OaValidationError); }); });