VRFS-2700 refactored url site test; added deferred state() test
This commit is contained in:
parent
f533e4273d
commit
708e842bcc
|
|
@ -25,7 +25,7 @@ context.JK.SiteValidator = class SiteValidator
|
|||
@spinner.hide()
|
||||
validator = this
|
||||
@data_input.on 'blur', ->
|
||||
validator.did_blur()
|
||||
validator.didBlur()
|
||||
@data_input.on 'focus', ->
|
||||
validator.showFormatStatus()
|
||||
@data_input.on 'change', ->
|
||||
|
|
@ -48,7 +48,7 @@ context.JK.SiteValidator = class SiteValidator
|
|||
@checkmark.hide()
|
||||
yn
|
||||
|
||||
did_blur: () =>
|
||||
didBlur: () =>
|
||||
if this.showFormatStatus()
|
||||
this.validateSite()
|
||||
|
||||
|
|
@ -66,19 +66,21 @@ context.JK.SiteValidator = class SiteValidator
|
|||
this.setSiteStatus(true)
|
||||
this.renderErrors({})
|
||||
if @deferred_status_check
|
||||
@deferred_status_check.resolve
|
||||
@deferred_status_check.resolve()
|
||||
else
|
||||
this.setSiteStatus(false)
|
||||
this.renderErrors(response)
|
||||
if @deferred_status_check
|
||||
@deferred_status_check.reject
|
||||
@deferred_status_check.reject()
|
||||
@deferred_status_check = null
|
||||
@logger.debug("site_status = "+@site_status)
|
||||
|
||||
processSiteCheckFail: (response) =>
|
||||
@logger.error("site check error")
|
||||
this.setSiteStatus(false)
|
||||
if @deferred_status_check
|
||||
@deferred_status_check.reject
|
||||
@deferred_status_check.reject()
|
||||
@deferred_status_check = null
|
||||
|
||||
setSiteStatus: (status) =>
|
||||
@site_status = status
|
||||
|
|
|
|||
|
|
@ -17,43 +17,58 @@ describe "SiteValidator", ->
|
|||
@server.restore()
|
||||
|
||||
describe "url site types", ->
|
||||
beforeEach ->
|
||||
@siteValidator = new JK.SiteValidator('url')
|
||||
@siteValidator.init()
|
||||
@url = 'http://www.jamkazam.com'
|
||||
|
||||
it "displays validator widget", ->
|
||||
site_validator = new JK.SiteValidator('url')
|
||||
site_validator.init()
|
||||
site_validator.data_input.val('http://www.jamkazam.com')
|
||||
site_validator.siteIsValid()
|
||||
expect(site_validator.checkmark).toBeVisible()
|
||||
@siteValidator.data_input.val(@url)
|
||||
@siteValidator.siteIsValid()
|
||||
expect(@siteValidator.checkmark).toBeVisible()
|
||||
|
||||
it "displays error for bad url", ->
|
||||
site_validator = new JK.SiteValidator('url')
|
||||
site_validator.init()
|
||||
site_validator.data_input.val('www.jamkazam.com')
|
||||
site_validator.did_blur()
|
||||
expect(site_validator.checkmark).toBeHidden()
|
||||
@url = @url.replace('http://', '')
|
||||
@siteValidator.data_input.val(@url)
|
||||
@siteValidator.didBlur()
|
||||
expect(@siteValidator.checkmark).toBeHidden()
|
||||
|
||||
it "validates a good url", ->
|
||||
url = 'http://www.jamkazam.com'
|
||||
@server.respondWith("GET", '/api/data_validation?sitetype=url&data=' + encodeURIComponent(url),
|
||||
@server.respondWith("GET", '/api/data_validation?sitetype=url&data=' + encodeURIComponent(@url),
|
||||
[200, { "content-type": "application/json" }, JSON.stringify({"message": "Valid Site"})])
|
||||
sinon.spy()
|
||||
site_validator = new JK.SiteValidator('url')
|
||||
site_validator.init()
|
||||
site_validator.data_input.val(url)
|
||||
site_validator.did_blur()
|
||||
@siteValidator.data_input.val(@url)
|
||||
@siteValidator.didBlur()
|
||||
@server.respond()
|
||||
expect(site_validator.checkmark).toBeVisible()
|
||||
expect(@siteValidator.checkmark).toBeVisible()
|
||||
|
||||
it "invalidates a good url", ->
|
||||
url = 'http://www.jamkazam.comxx'
|
||||
@server.respondWith("GET", '/api/data_validation?sitetype=url&data=' + encodeURIComponent(url),
|
||||
it "invalidates a bad url", ->
|
||||
@url += "xx"
|
||||
@server.respondWith("GET", '/api/data_validation?sitetype=url&data=' + encodeURIComponent(@url),
|
||||
[200, { "content-type": "application/json" }, JSON.stringify({"message": "Invalid Site"})])
|
||||
sinon.spy()
|
||||
site_validator = new JK.SiteValidator('url')
|
||||
site_validator.init()
|
||||
site_validator.data_input.val(url)
|
||||
site_validator.did_blur()
|
||||
@siteValidator.data_input.val(@url)
|
||||
@siteValidator.didBlur()
|
||||
@server.respond()
|
||||
expect(site_validator.checkmark).toBeHidden()
|
||||
expect(site_validator.site_status).toEqual(false)
|
||||
|
||||
expect(@siteValidator.checkmark).toBeHidden()
|
||||
expect(@siteValidator.site_status).toEqual(false)
|
||||
|
||||
it "responds to static state query properly", ->
|
||||
@siteValidator.siteIsValid()
|
||||
dfr = @siteValidator.state()
|
||||
expect(dfr.state()).toEqual("resolved")
|
||||
@siteValidator.siteIsInvalid()
|
||||
dfr = @siteValidator.state()
|
||||
expect(dfr.state()).toEqual("rejected")
|
||||
|
||||
it "responds to deferred state query properly", ->
|
||||
@server.respondWith("GET", '/api/data_validation?sitetype=url&data=' + encodeURIComponent(@url),
|
||||
[200, { "content-type": "application/json" }, JSON.stringify({"message": "Invalid Site"})])
|
||||
sinon.spy()
|
||||
@siteValidator.data_input.val(@url)
|
||||
expect(@siteValidator.site_status).toEqual(null)
|
||||
dfr = @siteValidator.state()
|
||||
expect(dfr.state()).toEqual("pending")
|
||||
@server.respond()
|
||||
expect(dfr.state()).toEqual("rejected")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue