ldx-widgets
Version:
widgets
157 lines (115 loc) • 4.27 kB
text/coffeescript
describe 'Address', ->
React = require 'react'
Address = React.createFactory require('../../src/components/address')
_ = require 'lodash'
TestUtils = require 'react-addons-test-utils'
it 'Should properly format a basic adddress', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: null
city: "Waltham"
state: "MA"
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St Waltham, MA 01221')
it 'Should properly format an adddress with an address2 defined', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: 'Apt 2B'
address3: null
city: "Waltham"
state: "MA"
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St Apt 2B Waltham, MA 01221')
it 'Should properly format an adddress with an address3 defined', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: 'Apt 2B'
address3: 'House 45'
city: "Waltham"
state: "MA"
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St Apt 2B House 45 Waltham, MA 01221')
it 'Should properly format an adddress with an address3 defined. but no address2', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: 'House 45'
city: "Waltham"
state: "MA"
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St House 45 Waltham, MA 01221')
it 'Should properly format an adddress when country is defined', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: 'House 45'
city: "Waltham"
state: "MA"
zip: "01221"
country: 'USA'
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St House 45 Waltham, MA 01221USA')
it 'Should omit the comma when there is no city defined', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: 'House 45'
city: null
state: "MA"
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St House 45 MA 01221')
it 'Should keep a space between city and zip when there is no state defined', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: 'House 45'
city: 'Waltham'
state: null
zip: "01221"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St House 45 Waltham 01221')
it 'Should hyphenate a 9 digit zipcode', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: 'House 45'
city: null
state: "MA"
zip: "012216789"
mapLink: no
}
addressText = TestUtils.scryRenderedDOMComponentsWithTag(address, 'div')[0].innerText
expect(addressText).to.equal('123 Fake St House 45 MA 01221-6789')
it 'Should wrap addresses in an a tag when maplink is true', ->
address = TestUtils.renderIntoDocument Address {
address1: "123 Fake St"
address2: null
address3: null
city: 'Waltham'
state: "MA"
zip: "01221"
mapLink: yes
}
link = TestUtils.scryRenderedDOMComponentsWithTag(address, 'a')
expect(link.length).to.equal(1)