Fixed customer indexing and dodgy test
							parent
							
								
									4ebd509478
								
							
						
					
					
						commit
						c32b9f77b3
					
				|  | @ -4,6 +4,7 @@ const colors = require('colors'); | |||
| const randtoken = require('rand-token'); | ||||
| const bcrypt = require('bcryptjs'); | ||||
| const common = require('../lib/common'); | ||||
| const { indexCustomers } = require('../lib/indexing'); | ||||
| const { validateJson } = require('../lib/schema'); | ||||
| const { restrict } = require('../lib/auth'); | ||||
| 
 | ||||
|  | @ -42,11 +43,14 @@ router.post('/customer/create', async (req, res) => { | |||
|     // email is ok to be used.
 | ||||
|     try{ | ||||
|         const newCustomer = await db.customers.insertOne(customerObj); | ||||
|         // Customer creation successful
 | ||||
|         req.session.customer = newCustomer.insertedId; | ||||
|         const customerReturn = newCustomer.ops[0]; | ||||
|         delete customerReturn.password; | ||||
|         res.status(200).json(customerReturn); | ||||
|         indexCustomers(req.app) | ||||
|         .then(() => { | ||||
|             // Customer creation successful
 | ||||
|             req.session.customer = newCustomer.insertedId; | ||||
|             const customerReturn = newCustomer.ops[0]; | ||||
|             delete customerReturn.password; | ||||
|             res.status(200).json(customerReturn); | ||||
|         }); | ||||
|     }catch(ex){ | ||||
|         console.error(colors.red('Failed to insert customer: ', ex)); | ||||
|         res.status(400).json({ | ||||
|  | @ -110,16 +114,19 @@ router.post('/admin/customer/update', restrict, async (req, res) => { | |||
|                 $set: customerObj | ||||
|             }, { multi: false, returnOriginal: false } | ||||
|         ); | ||||
|         if(req.apiAuthenticated){ | ||||
|             const returnCustomer = updatedCustomer.value; | ||||
|             delete returnCustomer.password; | ||||
|             res.status(200).json({ message: 'Customer updated', customer: updatedCustomer.value }); | ||||
|             return; | ||||
|         } | ||||
|         // show the view
 | ||||
|         req.session.message = 'Customer updated'; | ||||
|         req.session.messageType = 'success'; | ||||
|         res.redirect('/admin/customer/view/' + req.body.customerId); | ||||
|         indexCustomers(req.app) | ||||
|         .then(() => { | ||||
|             if(req.apiAuthenticated){ | ||||
|                 const returnCustomer = updatedCustomer.value; | ||||
|                 delete returnCustomer.password; | ||||
|                 res.status(200).json({ message: 'Customer updated', customer: updatedCustomer.value }); | ||||
|                 return; | ||||
|             } | ||||
|             // show the view
 | ||||
|             req.session.message = 'Customer updated'; | ||||
|             req.session.messageType = 'success'; | ||||
|             res.redirect('/admin/customer/view/' + req.body.customerId); | ||||
|         }); | ||||
|     }catch(ex){ | ||||
|         console.error(colors.red('Failed updating customer: ' + ex)); | ||||
|         if(req.apiAuthenticated){ | ||||
|  |  | |||
|  | @ -118,12 +118,12 @@ test('[Success] Get customer list', async t => { | |||
| 
 | ||||
| test('[Success] Filter customers', async t => { | ||||
|     const res = await g.request | ||||
|         .get('/admin/customers') | ||||
|         .get('/admin/customers/filter/Testy') | ||||
|         .set('apiKey', g.users[0].apiKey) | ||||
|         .expect(200); | ||||
| 
 | ||||
|     // Check the returned customers length
 | ||||
|     t.deepEqual(3, res.body.length); | ||||
|     t.deepEqual(1, res.body.customers.length); | ||||
| }); | ||||
| 
 | ||||
| test('[Success] Get single customer', async t => { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue