Skip to content

Commit 5bcf931

Browse files
committed
adding more test coverage for render of markdown text fields
1 parent 8e9ab19 commit 5bcf931

3 files changed

Lines changed: 57 additions & 16 deletions

File tree

app/components/CorpusMask/CorpusMaskContainer.test.js

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ describe('Container::CorpusMask', function () {
5454
corpusMask: Immutable.fromJS({
5555
dbname: 222,
5656
title: 'the-corpusMask-title',
57-
description: 'hi',
57+
description: 'hi \n* a \n* list',
5858
dateCreated: 1411424261782,
5959
dateModified: 1490462360903,
6060
keywords: 'kartuli, batumi, natural speech',
6161
copyright: 'Georgian Together Users',
62-
termsOfUse: 'any terms',
62+
termsOfUse: 'any \nterms',
6363
team: {
6464
id: 1234,
6565
name: 'jack'
@@ -76,48 +76,89 @@ describe('Container::CorpusMask', function () {
7676
}
7777
const doc = renderDoc(props)
7878

79-
let meta = doc.find('meta')
79+
const meta = doc.find('meta')
8080
expect(meta).to.exist
8181
expect(meta.length).to.equal(20)
8282

83-
let description = doc.find('meta[name="description"]')
83+
const description = doc.find('meta[name="description"]')
8484
expect(description).to.exist
8585
expect(description.length).to.equal(1)
86-
expect(description.node.props.content).to.equal('hi')
86+
expect(description.node.props.content).to.equal('hi \n* a \n* list')
8787

88-
let keywords = doc.find('meta[name="keywords"]')
88+
const keywords = doc.find('meta[name="keywords"]')
8989
expect(keywords).to.exist
9090
expect(keywords.length).to.equal(1)
9191
expect(keywords.node.props.content).to.equal('kartuli, batumi, natural speech')
9292

93-
let date = doc.find('meta[name="date"]')
93+
const date = doc.find('meta[name="date"]')
9494
expect(date).to.exist
9595
expect(date.length).to.equal(1)
9696
expect(date.node.props.content).to.equal('2017-03-25T17:19:20.903Z')
9797

98-
let dateCreated = doc.find('meta[name="dateCreated"]')
98+
const dateCreated = doc.find('meta[name="dateCreated"]')
9999
expect(dateCreated).to.exist
100100
expect(dateCreated.length).to.equal(1)
101101
expect(dateCreated.node.props.content).to.equal('2014-09-22T22:17:41.782Z')
102102

103-
let subject = doc.find('meta[name="subject"]')
103+
const subject = doc.find('meta[name="subject"]')
104104
expect(subject).to.exist
105105
expect(subject.length).to.equal(1)
106106
expect(subject.node.props.content).to.equal('Kartuli')
107107

108-
let copyright = doc.find('meta[name="copyright"]')
108+
const copyright = doc.find('meta[name="copyright"]')
109109
expect(copyright).to.exist
110110
expect(copyright.length).to.equal(1)
111111
expect(copyright.node.props.content).to.equal('Georgian Together Users')
112112

113-
let terms = doc.find('meta[name="terms"]')
113+
const terms = doc.find('meta[name="terms"]')
114114
expect(terms).to.exist
115115
expect(terms.length).to.equal(1)
116-
expect(terms.node.props.content).to.equal('any terms')
116+
expect(terms.node.props.content).to.equal('any \nterms')
117117

118-
let access = doc.find('meta[name="access"]')
118+
const access = doc.find('meta[name="access"]')
119119
expect(access).to.exist
120120
expect(access.length).to.equal(1)
121121
expect(access.node.props.content).to.equal('Contact myemail@myemail.org if you would like to gain (read, write, comment, contributor, export, search) access to the non-public parts of this database')
122122
})
123+
124+
it('should support markdown formatted text', function () {
125+
const props = {
126+
loadCorpusMaskDetail: sinon.stub(),
127+
params: {
128+
dbname: 'something',
129+
teamname: 'someone'
130+
},
131+
corpusMask: Immutable.fromJS({
132+
dbname: 222,
133+
title: 'the-corpusMask-title',
134+
description: 'hi \n* a \n* list',
135+
termsOfUse: 'some \nterms',
136+
team: {
137+
id: 1234,
138+
name: 'jack'
139+
},
140+
fields: [],
141+
prototypeApp: {
142+
url: ''
143+
}
144+
}),
145+
searchResults: Immutable.fromJS([])
146+
}
147+
const doc = renderDoc(props)
148+
149+
const description = doc.find('.description')
150+
expect(description).to.exist
151+
expect(description.length).to.equal(1)
152+
expect(description.node.props.dangerouslySetInnerHTML.__html).to.equal('<p>hi </p>\n<ul>\n<li>a </li>\n<li>list</li>\n</ul>\n')
153+
154+
const termsOfUse = doc.find('.terms')
155+
expect(termsOfUse).to.exist
156+
expect(termsOfUse.length).to.equal(1)
157+
expect(termsOfUse.node.props.dangerouslySetInnerHTML.__html).to.equal('<p>some<br>terms</p>\n')
158+
159+
// terms should be an anchor which can be linked to
160+
const termsAnchor = doc.find('#terms')
161+
expect(termsAnchor).to.exist
162+
expect(termsAnchor.length).to.equal(1)
163+
})
123164
})

app/components/CorpusMask/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class CorpusMaskContainer extends Component {
204204
</ul>
205205
<div className='tab-content'>
206206
<div id='terms' className='tab-pane active'>
207-
<p dangerouslySetInnerHTML={{
207+
<p className='terms' dangerouslySetInnerHTML={{
208208
__html: termsOfUseFormatted
209209
}} />
210210
<span>License: </span><a href={corpusMask.getIn(['license', 'link'])} rel='license' title={corpusMask.getIn(['license', 'title'])}>{corpusMask.getIn(['license', 'title'])}</a>

app/components/DataList/DataList.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ describe('Component::DataList', function () {
1818
'fieldDBtype': 'DataList',
1919
'id': 'orthography___',
2020
'title': 'Search for orthography:არ',
21-
'description': 'Showing 4 of 4 results, you can click on any of the items to see more details to further refine your search.',
21+
'description': 'something with a \n\n* http://link.to.somwhere in it',
2222
'version': 'v4.49.5',
2323
docs: [{
2424
id: 'd3bf748b16ac4054680f27a6401efdfa'
@@ -43,7 +43,7 @@ describe('Component::DataList', function () {
4343
let description = doc.find('p')
4444
expect(description).to.exist
4545
expect(description.length).to.equal(1)
46-
expect(description.node.props.children).to.equal('Showing 4 of 4 results, you can click on any of the items to see more details to further refine your search.')
46+
expect(description.node.props.dangerouslySetInnerHTML.__html).to.equal('<p>something with a </p>\n<ul>\n<li><a href="http://link.to.somwhere">http://link.to.somwhere</a> in it</li>\n</ul>\n')
4747

4848
let searchResults = doc.find('SearchResult')
4949
expect(searchResults).to.exist

0 commit comments

Comments
 (0)