decide.nolog.cz/tests/helpers/server-get-polls.js

87 lines
2 KiB
JavaScript
Raw Normal View History

2015-07-22 11:52:22 +02:00
import Ember from 'ember';
/* global sjcl */
export default function(attr, key) {
const defaultAttr = {
2015-07-22 11:52:22 +02:00
id: 'test',
title: 'default title',
description: 'default description',
pollType: 'FindADate',
answerType: 'YesNo',
answers: [
{
type: 'yes',
labelTranslation: 'answerTypes.yes.label',
icon: 'glyphicon glyphicon-thumbs-up',
label: 'Ja'
2015-07-22 11:52:22 +02:00
},
{
type: 'no',
labelTranslation: 'answerTypes.no.label',
icon: 'glyphicon glyphicon-thumbs-down',
label: 'Nein'
2015-07-22 11:52:22 +02:00
}
],
options: [
{
title: '2017-12-24'
2015-07-22 11:52:22 +02:00
},
{
title: '2018-01-01'
2015-07-22 11:52:22 +02:00
}
],
creationDate: '2015-04-01T11:11:11.111Z',
2015-07-22 11:52:22 +02:00
forceAnswer: true,
anonymousUser: false,
isDateTime: false,
users: [],
expirationDate: '',
2015-07-22 11:52:22 +02:00
timezone: '',
version: 'v0.3'
};
const encrypt = function(prop) {
return sjcl.encrypt(
key,
JSON.stringify(prop)
);
2015-07-22 11:52:22 +02:00
};
let data = Ember.merge(defaultAttr, attr);
const users = data.users.map(function(user, index) {
2015-08-21 12:10:02 +02:00
return {
id: `${data.id}_${index}`,
2015-08-21 12:10:02 +02:00
creationDate: encrypt(user.creationDate),
name: encrypt(user.name),
poll: data.id,
selections: encrypt(user.selections),
version: data.version
};
});
return [
200,
{ 'Content-Type': 'application/json' },
JSON.stringify({
poll: {
id: data.id,
title: encrypt(data.title),
description: encrypt(data.description),
pollType: encrypt(data.pollType),
answerType: encrypt(data.answerType),
answers: encrypt(data.answers),
options: encrypt(data.options),
creationDate: encrypt(data.creationDate),
forceAnswer: encrypt(data.forceAnswer),
anonymousUser: encrypt(data.anonymousUser),
isDateTime: encrypt(data.isDateTime),
timezone: encrypt(data.timezone),
expirationDate: encrypt(data.expirationDate),
users,
version: data.version
}
})
];
2015-07-22 11:52:22 +02:00
}