vivaticket: require booking end datetime (#34031)
This commit is contained in:
parent
2417d874a9
commit
380d7ca43f
|
@ -91,8 +91,14 @@ EVENTBOOK_SCHEMA = {
|
|||
"type": "string",
|
||||
"required": True
|
||||
},
|
||||
"datetime": {
|
||||
"description": "event datetime",
|
||||
"start_datetime": {
|
||||
"description": "event start datetime",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$",
|
||||
"required": True
|
||||
},
|
||||
"end_datetime": {
|
||||
"description": "event end datetime",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$",
|
||||
"required": True
|
||||
|
@ -258,8 +264,8 @@ class VivaTicket(BaseResource):
|
|||
def book(self, request, post_data, nameid=None):
|
||||
booking = {
|
||||
'externalCode': post_data['id'],
|
||||
'startDateTime': post_data['datetime'],
|
||||
'endDateTime': post_data['datetime'],
|
||||
'startDateTime': post_data['start_datetime'],
|
||||
'endDateTime': post_data['end_datetime'],
|
||||
'comment': post_data.get('comment', ''),
|
||||
'contact': self.get_or_create_contact(post_data, nameid),
|
||||
'roomList': [{
|
||||
|
@ -267,8 +273,8 @@ class VivaTicket(BaseResource):
|
|||
'roomCode': post_data['room'],
|
||||
'themeCode': post_data['theme'],
|
||||
'quantity': post_data['quantity'],
|
||||
'startDateTime': post_data['datetime'],
|
||||
'endDateTime': post_data['datetime']
|
||||
'startDateTime': post_data['start_datetime'],
|
||||
'endDateTime': post_data['end_datetime']
|
||||
}]
|
||||
}
|
||||
headers = {'X-Vivaticket-Form-URL': post_data['form_url']}
|
||||
|
|
|
@ -307,7 +307,8 @@ def test_book(mocked_get, mocked_put, mocked_post, app, connector):
|
|||
url = utils.generic_endpoint_url('vivaticket', 'book')
|
||||
payload = {'id': 'formid', 'email': 'foo@example.com'}
|
||||
response = app.post_json(url, params=payload, status=400)
|
||||
payload['datetime'] = '2019-01-15'
|
||||
payload['start_datetime'] = '2019-01-15'
|
||||
payload['end_datetime'] = '2019-01-15'
|
||||
payload['event'] = '01'
|
||||
payload['theme'] = '001'
|
||||
payload['room'] = 'v001'
|
||||
|
@ -316,7 +317,8 @@ def test_book(mocked_get, mocked_put, mocked_post, app, connector):
|
|||
payload['form_url'] = "http://mysite.com/form/id/"
|
||||
response = app.post_json(url, params=payload, status=400)
|
||||
assert "does not match '^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$" in response.json['err_desc']
|
||||
payload['datetime'] = '2019-01-15T10:00'
|
||||
payload['start_datetime'] = '2019-01-15T10:00'
|
||||
payload['end_datetime'] = '2019-01-15T11:00'
|
||||
# first return the API key, then the result of the booking creation
|
||||
mocked_post.side_effect = [
|
||||
utils.FakedResponse(content=KEY_RESPONSE, status_code=200),
|
||||
|
@ -327,7 +329,7 @@ def test_book(mocked_get, mocked_put, mocked_post, app, connector):
|
|||
assert mocked_post.call_args[1]['json']['Key'] == '86569D0CA1B1CBEF8D77DD5BDC9F5CBAE5C99074'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['externalCode'] == 'formid'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['startDateTime'] == '2019-01-15T10:00'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['endDateTime'] == '2019-01-15T10:00'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['endDateTime'] == '2019-01-15T11:00'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['comment'] == 'My comment'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['contact'] == {'InternalCode': '0000000273'}
|
||||
assert mocked_post.call_args[1]['headers'] == {'X-Vivaticket-Form-URL': 'http://mysite.com/form/id/'}
|
||||
|
|
Loading…
Reference in New Issue