From 4294bbe0e2c926ae848f68d32d63b749bf900daf Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 4 Oct 2020 14:56:02 +0530 Subject: [PATCH] Adds owner field and fixes tests --- tests/domain-utils.test.js | 11 +++++++---- utils/domain.js | 21 +++++++++++---------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tests/domain-utils.test.js b/tests/domain-utils.test.js index c3ac16598..fc914c783 100644 --- a/tests/domain-utils.test.js +++ b/tests/domain-utils.test.js @@ -11,6 +11,10 @@ const defaultDomain = { name: 'aaa', forceHttps: false, record: { A: ['121.121.121.121'] }, + owner: { + username: 'betsy', + email: 'betsyfuckyoassup@foobar.com', + }, }; describe('validateDomainData', () => { @@ -26,10 +30,9 @@ describe('validateDomainData', () => { ...defaultDomain, name, })), - { - ...defaultDomain, - description: Array(201).fill('a').join(''), - }, + { ...defaultDomain, owner: {}, }, + { ...defaultDomain, owner: { username: 'hwelo', }, }, + { ...defaultDomain, owner: { email: 'hwelo' }, }, ]; const validCases = [ diff --git a/utils/domain.js b/utils/domain.js index ee294e231..97b73f4a4 100644 --- a/utils/domain.js +++ b/utils/domain.js @@ -31,18 +31,19 @@ const validateDomainData = validate({ str => str && str.match(/^[A-Za-z0-9\-]{2,}$/ig), ]), }, - description: { - reason: '`description` has to be shorter than 200 characters', - fn: R.anyPass([ - R.empty, - R.is(String), - hasLengthLessThan(200), + description: { reason: '', fn: R.T, }, + repo: { reason: '', fn: R.T, }, + owner: { + reason: '`owner` needs username and email properties', + fn: R.allPass([ + R.is(Object), + R.complement(R.isEmpty), + R.where({ + username: R.is(String), + email: R.is(String), + }), ]), }, - repo: { - reason: '', - fn: R.T, - }, forceHttps: { reason: '`forceHttp` is required to be true or false', fn: R.is(Boolean),