UNPKG

ldx-widgets

Version:

widgets

157 lines (115 loc) 4.27 kB
describe 'Address', -> React = require 'react' Address = React.createFactory require('../../src/components/address') _ = require 'lodash' TestUtils = require 'react-addons-test-utils' #--------------------------------------------------------------------- Address Components 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)