trailpack-proxy-cart
Version:
eCommerce - Trailpack for Proxy Engine
119 lines (109 loc) • 3.23 kB
JavaScript
/* global describe, it */
const assert = require('assert')
const supertest = require('supertest')
const _ = require('lodash')
describe('Registered User Login, Logout, recover, and log back in', () => {
let registeredUser, userID, customerID, cartID, shopID,
shopProducts, recovery
before((done) => {
shopID = global.app.shopID
shopProducts = global.app.shopProducts
registeredUser = supertest.agent(global.app.packs.express.server)
registeredUser.post('/auth/local/register')
.send({
email: 'loginlogout@example.com',
password: 'admin1234'
})
.set('Accept', 'application/json')
.expect(200)
.end((err, res) => {
assert.ok(res.body.user.id)
assert.ok(res.body.user.current_customer_id)
userID = res.body.user.id
customerID = res.body.user.current_customer_id
cartID = res.body.user.current_cart_id
done(err)
})
})
it('should logout', done => {
registeredUser
.post('/auth/logout')
.send({})
.set('Accept', 'application/json')
.expect(200)
.end((err, res) => {
done(err)
})
})
it('should logback in', done => {
registeredUser
.post('/auth/local')
.send({
identifier: 'loginlogout@example.com',
password: 'admin1234',
})
.set('Accept', 'application/json')
.expect(200)
.end((err, res) => {
assert.ok(res.body.user.id, userID)
assert.equal(res.body.user.current_customer_id, customerID)
assert.equal(res.body.user.current_cart_id, cartID)
done(err)
})
})
it('should logout', done => {
registeredUser
.post('/auth/logout')
.send({})
.set('Accept', 'application/json')
.expect(200)
.end((err, res) => {
done(err)
})
})
it('should start a recovery', (done) => {
registeredUser
.post('/auth/recover')
.set('Accept', 'application/json') //set header for this test
.send({
identifier: 'loginlogout@example.com'
})
.expect(200)
.end((err, res) => {
// console.log('BROKE', res.body)
assert.equal(res.body.redirect, '/')
// assert.equal(res.body.user.username, 'newuser')
// recovery = res.body.user.recovery
done(err)
})
})
it('should get the recovery of the user', (done) => {
global.app.orm['User'].findById(userID)
.then(user => {
recovery = user.recovery
done()
})
.catch(err => {
done(err)
})
})
it('should end a recovery and customer id and cart id should be the same', (done) => {
registeredUser
.post('/auth/local/recover')
.set('Accept', 'application/json') //set header for this test
.send({
recovery: recovery,
password: 'adminNewNew'
})
.expect(200)
.end((err, res) => {
assert.equal(res.body.redirect, '/')
assert.equal(res.body.user.email, 'loginlogout@example.com')
assert.equal(res.body.user.current_customer_id, customerID)
assert.equal(res.body.user.current_cart_id, cartID)
assert.equal()
done(err)
})
})
})