From 88899d697bae1b4220460dd6f6873cc2168d401f Mon Sep 17 00:00:00 2001 From: Hannah Hendrickson Date: Tue, 22 Aug 2017 12:39:22 -0600 Subject: [PATCH 1/2] getproductbyid function passing --- .../src/functions/getActiveUsers.js | 15 ++++++++ .../src/functions/getMostExpensiveProduct.js | 15 ++++++++ .../src/functions/getOrderInfo.js | 24 ++++++++++++ .../src/functions/getProductById.js | 37 +++++++++++++++++++ .../src/functions/getUsersById.js | 19 ++++++++++ 5 files changed, 110 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/getUsersById.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..3ee68c7 --- /dev/null +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -0,0 +1,15 @@ +import DATA from '../DATA' + +const getActiveUsers = () => { + let activeUsers = [] + + DATA.users.forEach((user) => { + if (user.accountActive === true) { + activeUsers.push(user) + } + }) + + return activeUsers +} + +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..3c36c39 --- /dev/null +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -0,0 +1,15 @@ +import DATA from '../DATA' + +const getMostExpensiveProduct = () => { + let mostExpProd // = undefined + + for (let i = 0; i < DATA.products.length; i++) { + if (mostExpProd === undefined || DATA.products[i].price > mostExpProd.price) { + mostExpProd = DATA.products[i] + } + } + + return mostExpProd +} + +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..334d63c --- /dev/null +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -0,0 +1,24 @@ +import DATA from '../DATA' + +const getOrderInfo = () => { + let orderInfoArr = [] + // let userName + // let price + const orderInfo = { + orderId: orderId, + userName: userName, + price: price + } + DATA.orders.forEach((order) => { + if (order.id && order.userId && order.productId > 0) { + let orderId = order.id + let userName = getUserByID(order.userId).name + let price = getProductByID(order.productId).price + } + orderInfoArr.push(orderInfo) + }) + + return orderInfoArr +} + +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..85fd840 --- /dev/null +++ b/data-and-functions-1/src/functions/getProductById.js @@ -0,0 +1,37 @@ +import DATA from '../DATA' + +const getProductByID = (DATA, id) => { + if (DATA == null || DATA.products == null || id == null) { + return null + } + let productFound + + for (let i = 0; i < DATA.products.length; i++) { + const currentProduct = DATA.products[i] + + if (currentProduct.id === id) { + productFound = currentProduct + } + } + return productFound +} + +export default getProductByID + +// const getUsersById = (DATA, id) => { +// if (DATA == null || DATA.users == null || id == null) { +// return null +// } +// +// let foundUser +// +// for (let i = 0; i < DATA.users.length; i++) { +// const currentUser = DATA.users[i] +// +// if (currentUser.id === id) { +// foundUser = currentUser +// } +// } +// return foundUser +// } +// export default getUsersById diff --git a/data-and-functions-1/src/functions/getUsersById.js b/data-and-functions-1/src/functions/getUsersById.js new file mode 100644 index 0000000..09a3ecd --- /dev/null +++ b/data-and-functions-1/src/functions/getUsersById.js @@ -0,0 +1,19 @@ +import DATA from '../DATA' + +const getUsersById = (DATA, id) => { + if (DATA == null || DATA.users == null || id == null) { + return null + } + + let foundUser + + for (let i = 0; i < DATA.users.length; i++) { + const currentUser = DATA.users[i] + + if (currentUser.id === id) { + foundUser = currentUser + } + } + return foundUser +} +export default getUsersById From d125d0e2d7687518085810f0eac8b971cca497be Mon Sep 17 00:00:00 2001 From: Hannah Hendrickson Date: Tue, 22 Aug 2017 13:33:10 -0600 Subject: [PATCH 2/2] get orderInfo the only one not passing yet --- .../src/functions/getActiveUsers.js | 8 ++++- .../src/functions/getMostExpensiveProduct.js | 7 +++- .../src/functions/getOrderInfo.js | 32 +++++++++++-------- .../src/functions/getProductById.js | 18 +---------- .../{getUsersById.js => getUserById.js} | 6 ++-- 5 files changed, 36 insertions(+), 35 deletions(-) rename data-and-functions-1/src/functions/{getUsersById.js => getUserById.js} (80%) diff --git a/data-and-functions-1/src/functions/getActiveUsers.js b/data-and-functions-1/src/functions/getActiveUsers.js index 3ee68c7..0d2bcab 100644 --- a/data-and-functions-1/src/functions/getActiveUsers.js +++ b/data-and-functions-1/src/functions/getActiveUsers.js @@ -1,6 +1,10 @@ import DATA from '../DATA' -const getActiveUsers = () => { +const getActiveUsers = (DATA) => { + if (DATA == null || DATA.users == null) { + return null + } + let activeUsers = [] DATA.users.forEach((user) => { @@ -13,3 +17,5 @@ const getActiveUsers = () => { } export default getActiveUsers + +// passes diff --git a/data-and-functions-1/src/functions/getMostExpensiveProduct.js b/data-and-functions-1/src/functions/getMostExpensiveProduct.js index 3c36c39..2016ea6 100644 --- a/data-and-functions-1/src/functions/getMostExpensiveProduct.js +++ b/data-and-functions-1/src/functions/getMostExpensiveProduct.js @@ -1,6 +1,9 @@ import DATA from '../DATA' -const getMostExpensiveProduct = () => { +const getMostExpensiveProduct = (DATA) => { + if (DATA == null || DATA.products == null) { + return null + } let mostExpProd // = undefined for (let i = 0; i < DATA.products.length; i++) { @@ -13,3 +16,5 @@ const getMostExpensiveProduct = () => { } export default getMostExpensiveProduct + +// passes diff --git a/data-and-functions-1/src/functions/getOrderInfo.js b/data-and-functions-1/src/functions/getOrderInfo.js index 334d63c..51a0014 100644 --- a/data-and-functions-1/src/functions/getOrderInfo.js +++ b/data-and-functions-1/src/functions/getOrderInfo.js @@ -1,22 +1,26 @@ import DATA from '../DATA' +import getProductById from './getProductById' +import getUserById from './getUserById' -const getOrderInfo = () => { - let orderInfoArr = [] - // let userName - // let price - const orderInfo = { - orderId: orderId, - userName: userName, - price: price +const getOrderInfo = (DATA, orderId) => { + if (DATA == null || DATA.users == null || orderId == null) { + return null } - DATA.orders.forEach((order) => { - if (order.id && order.userId && order.productId > 0) { - let orderId = order.id - let userName = getUserByID(order.userId).name - let price = getProductByID(order.productId).price + let orderInfoArr = [] + + for (let i = 0; i < DATA.orders.length; i++) { + const orderInfo = { + orderId: orderId, + userName: userName, + price: price + } + if (DATA.orders.id && DATA.orders.userId && DATA.orders.productId > 0) { + let orderId = DATA.orders.id + let userName = getUserById(DATA.orders.userId).name + let price = getProductById(DATA.order.productId).price } orderInfoArr.push(orderInfo) - }) + } return orderInfoArr } diff --git a/data-and-functions-1/src/functions/getProductById.js b/data-and-functions-1/src/functions/getProductById.js index 85fd840..fc8639b 100644 --- a/data-and-functions-1/src/functions/getProductById.js +++ b/data-and-functions-1/src/functions/getProductById.js @@ -18,20 +18,4 @@ const getProductByID = (DATA, id) => { export default getProductByID -// const getUsersById = (DATA, id) => { -// if (DATA == null || DATA.users == null || id == null) { -// return null -// } -// -// let foundUser -// -// for (let i = 0; i < DATA.users.length; i++) { -// const currentUser = DATA.users[i] -// -// if (currentUser.id === id) { -// foundUser = currentUser -// } -// } -// return foundUser -// } -// export default getUsersById +//passes diff --git a/data-and-functions-1/src/functions/getUsersById.js b/data-and-functions-1/src/functions/getUserById.js similarity index 80% rename from data-and-functions-1/src/functions/getUsersById.js rename to data-and-functions-1/src/functions/getUserById.js index 09a3ecd..204da9e 100644 --- a/data-and-functions-1/src/functions/getUsersById.js +++ b/data-and-functions-1/src/functions/getUserById.js @@ -1,6 +1,6 @@ import DATA from '../DATA' -const getUsersById = (DATA, id) => { +const getUserById = (DATA, id) => { if (DATA == null || DATA.users == null || id == null) { return null } @@ -16,4 +16,6 @@ const getUsersById = (DATA, id) => { } return foundUser } -export default getUsersById +export default getUserById + +// passes