From 00f083966ce4336883804ded526c26d9858c3d20 Mon Sep 17 00:00:00 2001 From: davisgd Date: Wed, 23 Aug 2017 10:51:57 -0600 Subject: [PATCH 1/2] added the 5 functions to test --- .../src/functions/getActiveUsers.js | 13 +++++++++++++ .../src/functions/getMostExpensiveProduct.js | 17 +++++++++++++++++ .../src/functions/getOrderInfo.js | 17 +++++++++++++++++ .../src/functions/getProductById.js | 13 +++++++++++++ .../src/functions/getUserById.js | 17 +++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 data-and-functions-1/src/functions/getActiveUsers.js create mode 100644 data-and-functions-1/src/functions/getMostExpensiveProduct.js create mode 100644 data-and-functions-1/src/functions/getOrderInfo.js create mode 100644 data-and-functions-1/src/functions/getProductById.js create mode 100644 data-and-functions-1/src/functions/getUserById.js diff --git a/data-and-functions-1/src/functions/getActiveUsers.js b/data-and-functions-1/src/functions/getActiveUsers.js new file mode 100644 index 0000000..f0e84ed --- /dev/null +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -0,0 +1,13 @@ +import DATA from '../DATA' + +const getActiveUsers = (id) => { + let activeUserArray = [] + DATA.users.forEach((u) => { + if (u.accountActive === true) { + activeUserArray.push(u) + } + }) + return activeUserArray +} + +export default getActiveUsers diff --git a/data-and-functions-1/src/functions/getMostExpensiveProduct.js b/data-and-functions-1/src/functions/getMostExpensiveProduct.js new file mode 100644 index 0000000..93e7d7b --- /dev/null +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -0,0 +1,17 @@ +import DATA from '../DATA' + +const getMostExpensiveProduct = (data) => { + if (data == null) { + return null + } + let mostExpensiveProduct = 0 + DATA.products.forEach((m) => { + const currentProduct = data.products[m] + if (currentProduct.price > mostExpensiveProduct) { + mostExpensiveProduct = currentProduct + } + }) + return mostExpensiveProduct +} + +export default getMostExpensiveProduct diff --git a/data-and-functions-1/src/functions/getOrderInfo.js b/data-and-functions-1/src/functions/getOrderInfo.js new file mode 100644 index 0000000..72fcec8 --- /dev/null +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -0,0 +1,17 @@ +import DATA from '../DATA' +import getUserById from './getUserById' +import getProductById from './getProductById' + +const getOrderInfo = (id) => { + let orderArray = [] + DATA.orders.forEach((o) => { + orderArray.push({ + userName: getUserById(o.userId).name, + orderId: o.id, + price: getProductById(o.productId).price + }) + }) + return orderArray +} + +export default getOrderInfo diff --git a/data-and-functions-1/src/functions/getProductById.js b/data-and-functions-1/src/functions/getProductById.js new file mode 100644 index 0000000..d1427ed --- /dev/null +++ b/data-and-functions-1/src/functions/getProductById.js @@ -0,0 +1,13 @@ +import DATA from '../DATA' + +const getProductById = (id) => { + let product + for (let n = 0; n < DATA.products.length; n += 1) { + if (DATA.products[n].id === id) { + product = DATA.products[n] + } + } + return product +} + +export default getProductById diff --git a/data-and-functions-1/src/functions/getUserById.js b/data-and-functions-1/src/functions/getUserById.js new file mode 100644 index 0000000..5d56f5c --- /dev/null +++ b/data-and-functions-1/src/functions/getUserById.js @@ -0,0 +1,17 @@ +import DATA from '../DATA' + +const getUserById = (userId) => { + let user + if (userId == null || DATA == null || DATA.users == null) { + return null + } else { + DATA.users.forEach((u) => { + if (u.userId === id) { + user = u + } + }) + } + return user +} + +export default getUserById From de112605974f4d233876053b051d32014aa29802 Mon Sep 17 00:00:00 2001 From: davisgd Date: Wed, 23 Aug 2017 11:32:02 -0600 Subject: [PATCH 2/2] added getOrderInfo --- .../src/functions/getOrderInfo.js | 23 ++++++++++++------- .../src/functions/getUserById.js | 6 ++--- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/data-and-functions-1/src/functions/getOrderInfo.js b/data-and-functions-1/src/functions/getOrderInfo.js index 72fcec8..380f996 100644 --- a/data-and-functions-1/src/functions/getOrderInfo.js +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -1,15 +1,22 @@ -import DATA from '../DATA' import getUserById from './getUserById' import getProductById from './getProductById' -const getOrderInfo = (id) => { - let orderArray = [] +const getOrderInfo = (DATA) => { + if (DATA == null || DATA.orders == null) { + return null + } + const orderArray = [] DATA.orders.forEach((o) => { - orderArray.push({ - userName: getUserById(o.userId).name, - orderId: o.id, - price: getProductById(o.productId).price - }) + const currentOrder = DATA.orders[o] + const userName = getUserById(DATA, currentOrder.userId).name + const orderId = currentOrder.id + const price = getProductById(DATA, currentOrder.productId).price + const orderInfo = { + orderId: orderId, + userName: userName, + price: price + } + orderArray.push(orderInfo) }) return orderArray } diff --git a/data-and-functions-1/src/functions/getUserById.js b/data-and-functions-1/src/functions/getUserById.js index 5d56f5c..a1267b2 100644 --- a/data-and-functions-1/src/functions/getUserById.js +++ b/data-and-functions-1/src/functions/getUserById.js @@ -1,12 +1,10 @@ -import DATA from '../DATA' - -const getUserById = (userId) => { +const getUserById = (DATA, userId) => { let user if (userId == null || DATA == null || DATA.users == null) { return null } else { DATA.users.forEach((u) => { - if (u.userId === id) { + if (u.userId === DATA.id) { user = u } })