Skip to content

Commit d6d4203

Browse files
committed
enquiry submission test
1 parent 74ff53e commit d6d4203

File tree

2 files changed

+44
-8
lines changed

2 files changed

+44
-8
lines changed

test/unit/specs/_shared.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,17 @@ class TestConsole {
2020
}
2121
}
2222

23+
const enquiry_options = {
24+
visible: [
25+
{field: 'first_field', type: 'text', label: 'Foobar'}
26+
]
27+
}
28+
2329
const vm_data = {
2430
contractors: [{name: 'Fred Bloggs', link: 'fred-bloggs', tag_line: 'hello'}],
2531
config: {contact_html: 'name is: {name}'},
2632
contractors_extra: {'fred-bloggs': {'extra_attributes': [{'name': 'Bio', 'value': 'I am great'}]}},
27-
enquiry_form_info: {
28-
visible: [
29-
{field: 'first_field', type: 'text', label: 'Foobar'}
30-
]
31-
},
33+
enquiry_form_info: enquiry_options,
3234
enquiry_data: {},
3335
}
3436

@@ -44,4 +46,4 @@ const generate_vm = (router, vm_data_) => new Vue({
4446
}
4547
})
4648

47-
export {dft_response, TestConsole, vm_data, generate_vm}
49+
export {dft_response, TestConsole, enquiry_options, vm_data, generate_vm}

test/unit/specs/main.js

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import socket from 'src/main'
2-
import {dft_response, TestConsole} from './_shared'
2+
import {dft_response, TestConsole, enquiry_options} from './_shared'
33

44
describe('main.js', done => {
55
let server
@@ -146,7 +146,7 @@ describe('main.js', () => {
146146
el.setAttribute('id', 'socket')
147147
document.body.appendChild(el)
148148

149-
const vm = socket('public-key', {contractor_enquiry_button: 'Speak to {contractor_name}'})
149+
const vm = socket('public-key')
150150
vm.get_enquiry()
151151

152152
setTimeout(() => {
@@ -155,3 +155,37 @@ describe('main.js', () => {
155155
}, 50)
156156
})
157157
})
158+
159+
describe('main.js', () => {
160+
let server
161+
before(() => {
162+
server = sinon.fakeServer.create()
163+
server.autoRespond = true
164+
server.respondWith('/public-key/contractors', dft_response)
165+
server.respondWith('/public-key/enquiry',
166+
[200, {'Content-Type': 'application/json'}, JSON.stringify(enquiry_options)])
167+
server.respondWith('POST', '/public-key/enquiry',
168+
[201, {'Content-Type': 'application/json'}, '{"response": "ok"}'])
169+
})
170+
after(() => { server.restore() })
171+
172+
it('should post enquiry data', done => {
173+
let el = document.createElement('div')
174+
el.setAttribute('id', 'socket')
175+
document.body.appendChild(el)
176+
177+
const vm = socket('public-key')
178+
vm.get_enquiry()
179+
180+
setTimeout(() => {
181+
vm.$set(vm.enquiry_data, 'first_field', 'foobar')
182+
expect(vm.enquiry_data).to.deep.equal({first_field: 'foobar'})
183+
let callback = () => {
184+
expect(vm.enquiry_data).to.deep.equal({})
185+
done()
186+
}
187+
vm.submit_enquiry(callback)
188+
}, 50)
189+
})
190+
})
191+

0 commit comments

Comments
 (0)