refactor: EmailAddr.Request -> UnverifiedEmailAddr.

This commit is contained in:
roschaefer 2019-10-02 01:21:56 +02:00
parent 7bec48904e
commit 6a7970200f
6 changed files with 17 additions and 17 deletions

View File

@ -5,7 +5,7 @@ export default {
User: require('./User.js'),
InvitationCode: require('./InvitationCode.js'),
EmailAddress: require('./EmailAddress.js'),
EmailAddressRequest: require('./EmailAddressRequest.js'),
UnverifiedEmailAddress: require('./UnverifiedEmailAddress.js'),
SocialMedia: require('./SocialMedia.js'),
Post: require('./Post.js'),
Comment: require('./Comment.js'),

View File

@ -9,7 +9,7 @@ export default {
AddEmailAddress: async (_parent, args, context, _resolveInfo) => {
try {
const { neode } = context
await new Validator(neode, neode.model('EmailAddressRequest'), args)
await new Validator(neode, neode.model('UnverifiedEmailAddress'), args)
} catch (e) {
throw new UserInputError('must be a valid email')
}
@ -27,7 +27,7 @@ export default {
const result = await txc.run(
`
MATCH (user:User {id: $userId})
MERGE (user)<-[:BELONGS_TO]-(email:EmailAddressRequest {email: $email, nonce: $nonce})
MERGE (user)<-[:BELONGS_TO]-(email:UnverifiedEmailAddress {email: $email, nonce: $nonce})
SET email.createdAt = toString(datetime())
RETURN email, user
`,
@ -57,11 +57,11 @@ export default {
const result = await txc.run(
`
MATCH (user:User {id: $userId})-[previous:PRIMARY_EMAIL]->(:EmailAddress)
MATCH (user)<-[:BELONGS_TO]-(email:EmailAddressRequest {email: $email, nonce: $nonce})
MATCH (user)<-[:BELONGS_TO]-(email:UnverifiedEmailAddress {email: $email, nonce: $nonce})
MERGE (user)-[:PRIMARY_EMAIL]->(email)
SET email:EmailAddress
SET email.verifiedAt = toString(datetime())
REMOVE email:EmailAddressRequest
REMOVE email:UnverifiedEmailAddress
DELETE previous
RETURN email
`,

View File

@ -94,23 +94,23 @@ describe('AddEmailAddress', () => {
})
})
it('connects `EmailAddressRequest` to the authenticated user', async () => {
it('connects `UnverifiedEmailAddress` to the authenticated user', async () => {
await mutate({ mutation, variables })
const result = await neode.cypher(`
MATCH(u:User)-[:PRIMARY_EMAIL]->(:EmailAddress {email: "user@example.org"})
MATCH(u:User)<-[:BELONGS_TO]-(e:EmailAddressRequest {email: "new-email@example.org"})
MATCH(u:User)<-[:BELONGS_TO]-(e:UnverifiedEmailAddress {email: "new-email@example.org"})
RETURN e
`)
const email = neode.hydrateFirst(result, 'e', neode.model('EmailAddressRequest'))
const email = neode.hydrateFirst(result, 'e', neode.model('UnverifiedEmailAddress'))
await expect(email.toJson()).resolves.toMatchObject({
email: 'new-email@example.org',
nonce: expect.any(String),
})
})
describe('if another `EmailAddressRequest` node already exists with that email', () => {
describe('if another `UnverifiedEmailAddress` node already exists with that email', () => {
it('throws no unique constraint violation error', async () => {
await factory.create('EmailAddressRequest', {
await factory.create('UnverifiedEmailAddress', {
createdAt: '2019-09-24T14:00:01.565Z',
email: 'new-email@example.org',
})
@ -182,10 +182,10 @@ describe('VerifyEmailAddress', () => {
})
})
describe('given a `EmailAddressRequest`', () => {
describe('given a `UnverifiedEmailAddress`', () => {
let emailAddress
beforeEach(async () => {
emailAddress = await factory.create('EmailAddressRequest', {
emailAddress = await factory.create('UnverifiedEmailAddress', {
nonce: 'abcdef',
verifiedAt: null,
createdAt: new Date().toISOString(),
@ -203,7 +203,7 @@ describe('VerifyEmailAddress', () => {
})
})
describe('given valid nonce for `EmailAddressRequest` node', () => {
describe('given valid nonce for `UnverifiedEmailAddress` node', () => {
beforeEach(() => {
variables = { ...variables, nonce: 'abcdef' }
})
@ -217,7 +217,7 @@ describe('VerifyEmailAddress', () => {
})
})
describe('and the `EmailAddressRequest` belongs to the authenticated user', () => {
describe('and the `UnverifiedEmailAddress` belongs to the authenticated user', () => {
beforeEach(async () => {
await emailAddress.relateTo(user, 'belongsTo')
})

View File

@ -9,7 +9,7 @@ import createTag from './tags.js'
import createSocialMedia from './socialMedia.js'
import createLocation from './locations.js'
import createEmailAddress from './emailAddresses.js'
import createEmailAddressRequests from './emailAddressRequests.js'
import createUnverifiedEmailAddresss from './unverifiedEmailAddresses.js'
export const seedServerHost = 'http://127.0.0.1:4001'
@ -33,7 +33,7 @@ const factories = {
SocialMedia: createSocialMedia,
Location: createLocation,
EmailAddress: createEmailAddress,
EmailAddressRequest: createEmailAddressRequests,
UnverifiedEmailAddress: createUnverifiedEmailAddresss,
}
export const cleanDatabase = async (options = {}) => {

View File

@ -4,7 +4,7 @@ export default function create() {
return {
factory: async ({ args, neodeInstance }) => {
args = defaults({ args })
return neodeInstance.create('EmailAddressRequest', args)
return neodeInstance.create('UnverifiedEmailAddress', args)
},
}
}