Add message type and test helper

This commit is contained in:
Kimmo Puputti 2017-11-09 13:28:12 +02:00
parent 13d9626152
commit f88293da07
2 changed files with 42 additions and 16 deletions

View file

@ -62,6 +62,22 @@ export const place = shape({
country: string, // country code, e.g. FI, US
});
// Denormalised image object
export const image = shape({
id: uuid.isRequired,
type: value('image').isRequired,
attributes: shape({
sizes: arrayOf(
shape({
width: number.isRequired,
height: number.isRequired,
name: string.isRequired,
url: string.isRequired,
})
).isRequired,
}),
});
// Denormalised user object
export const currentUser = shape({
id: uuid.isRequired,
@ -79,6 +95,7 @@ export const currentUser = shape({
}).isRequired,
stripeConnected: bool.isRequired,
}),
profileImage: image,
});
// Denormalised user object
@ -93,22 +110,7 @@ export const user = shape({
bio: string,
}),
}),
});
// Denormalised image object
export const image = shape({
id: uuid.isRequired,
type: value('image').isRequired,
attributes: shape({
sizes: arrayOf(
shape({
width: number.isRequired,
height: number.isRequired,
name: string.isRequired,
url: string.isRequired,
})
).isRequired,
}),
profileImage: image,
});
// Denormalised listing object
@ -212,6 +214,17 @@ export const transaction = shape({
provider: user,
});
// Denormalised transaction message
export const message = shape({
id: uuid.isRequired,
type: value('message').isRequired,
attributes: shape({
at: instanceOf(Date).isRequired,
content: string.isRequired,
}).isRequired,
sender: user,
});
// Pagination information in the response meta
export const pagination = shape({
page: number.isRequired,

View file

@ -131,6 +131,19 @@ export const createTransaction = options => {
};
};
export const createMessage = (id, attributes = {}, includes = {}) => {
return {
id: new UUID(id),
type: 'message',
attributes: {
at: new Date(Date.UTC(2017, 10, 9, 8, 12)),
content: `Message ${id}\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`,
...attributes,
},
...includes,
};
};
// Default config for currency formatting in tests and examples.
export const currencyConfig = {
style: 'currency',