Генерация тестовых данных с помощью Faker

Я работаю над скриптом для генерации тестовых данных с использованием пакетов faker и JSON-Schema-Faker.

Ищем примеры с "наследованием схемы" и необязательными полями. Например, у меня есть объект «пользователь» с обязательными полями: «_id», «firstName», «lastName», «username», «email» и одним [и только одним из]: customerProfile, partnerProfile и adminProfile. Каждое из необязательных полей, если оно присутствует: хранит непустой массив значений, соответствующих другой схеме.

Пожалуйста, укажите мне соответствующие примеры.


person Moshe Shmukler    schedule 08.12.2015    source источник
comment
Если все они являются профилями и всегда содержат одну сущность, почему бы не ссылаться на свойство profile, а не на каждое отдельное свойство? На мой взгляд, это упростит вашу схему и будет означать меньшую проверку нулей/пустых значений. Таким образом, схема, содержащаяся внутри, скажет вам, какой это тип профиля. Просто мысль, может я что-то пропустил.   -  person timothyclifford    schedule 08.12.2015


Ответы (1)


В конечном итоге с:

admin: function(first, last){
  return {
    "displayUsername": first + " " + last,
    "active": true
  };
},
...

var profileIndex = Math.round(Math.random() * 2);
var profileTypes = ["admin", "customer", "partner"];
var currentProfileType = profileTypes[profileIndex];
var userRecord = {
  "username": username, 
  "firstName": firstName, 
  "lastName": lastName, 
  "email": email, 
  "_id": _id
  //(ES6 Syntax) ,[currentProfileType + "Profile"]: profileBuilders[currentProfileType](firstName, lastName);
};
userRecord[currentProfileType + "Profile"] = profileBuilders[currentProfileType](firstName, lastName);

return userRecord;
person Moshe Shmukler    schedule 10.12.2015