Moves out the test for getPReviousCycle method of cycle module

This commit is contained in:
Sofiya Tepikin
2020-03-14 11:40:04 +00:00
committed by Maria Zadnepryanets
parent 95068e92c4
commit 64a4c8c455
2 changed files with 73 additions and 232 deletions
+1 -232
View File
@@ -5,237 +5,6 @@ import cycleModule from '../lib/cycle'
const expect = chai.expect
chai.use(dirtyChai)
describe('getPreviousCycle', () => {
it('gets previous cycle', () => {
const cycleDaysSortedByDate = [
{
date: '2018-07-05',
bleeding: { value: 2 }
},
{
date: '2018-06-05',
bleeding: { value: 2 }
},
{
date: '2018-05-05',
mucus: { value: 2 }
},
{
date: '2018-05-04',
bleeding: { value: 2 }
},
{
date: '2018-05-03',
bleeding: { value: 2 }
},
{
date: '2018-04-05',
mucus: { value: 2 }
},
{
date: '2018-04-04',
mucus: { value: 2 }
},
{
date: '2018-04-03',
mucus: { value: 2 }
},
{
date: '2018-04-02',
bleeding: { value: 2 }
},
]
const cycleStarts = [
'2018-07-05',
'2018-06-05',
'2018-05-03',
'2018-04-02'
]
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: cycleDaysSortedByDate.filter(d => {
return cycleStarts.includes(d.date)
})
})
const result = getPreviousCycle('2018-06-08')
expect(result).to.eql([
{
date: '2018-05-05',
mucus: { value: 2 }
},
{
date: '2018-05-04',
bleeding: { value: 2 }
},
{
date: '2018-05-03',
bleeding: { value: 2 }
}
])
})
it('returns null when target day is not in a cyle', () => {
const cycleDaysSortedByDate = [
{
date: '2018-07-05',
},
{
date: '2018-06-05',
},
{
date: '2018-05-05',
},
{
date: '2018-05-04',
},
{
date: '2018-05-03',
},
{
date: '2018-04-05',
},
{
date: '2018-04-04',
mucus: { value: 2 }
},
{
date: '2018-04-03',
},
{
date: '2018-04-02',
},
]
const cycleStarts = []
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: cycleDaysSortedByDate.filter(d => {
return cycleStarts.includes(d.date)
})
})
const result = getPreviousCycle('2018-06-08')
expect(result).to.eql(null)
})
it('returns null when there is no previous cycle', () => {
const cycleDaysSortedByDate = [
{
date: '2018-07-05',
bleeding: { value: 2 }
},
{
date: '2018-06-05',
bleeding: { value: 2 }
},
{
date: '2018-05-05',
mucus: { value: 2 }
},
{
date: '2018-05-04',
bleeding: { value: 2 }
},
{
date: '2018-05-03',
bleeding: { value: 2 }
},
{
date: '2018-04-05',
mucus: { value: 2 }
},
{
date: '2018-04-04',
mucus: { value: 2 }
},
{
date: '2018-04-03',
mucus: { value: 2 }
},
{
date: '2018-04-02',
bleeding: { value: 2 }
},
]
const cycleStarts = [
'2018-07-05',
'2018-06-05',
'2018-05-03',
'2018-04-02'
]
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: cycleDaysSortedByDate.filter(d => {
return cycleStarts.includes(d.date)
})
})
const result = getPreviousCycle('2018-04-18')
expect(result).to.eql(null)
})
it('returns null when the previous cycle > maxcyclelength', () => {
const cycleDaysSortedByDate = [
{
date: '2018-07-05',
bleeding: { value: 2 }
},
{
date: '2018-06-05',
bleeding: { value: 2 }
},
{
date: '2018-05-05',
mucus: { value: 2 }
},
{
date: '2018-05-04',
bleeding: { value: 2 }
},
{
date: '2018-05-03',
bleeding: { value: 2 }
},
{
date: '2018-04-05',
mucus: { value: 2 }
},
{
date: '2018-04-04',
mucus: { value: 2 }
},
{
date: '2018-04-03',
mucus: { value: 2 }
},
{
date: '2018-04-02',
bleeding: { value: 2 }
},
]
const cycleStarts = [
'2018-07-05',
'2018-06-05',
'2018-05-03',
'2018-04-02'
]
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: cycleDaysSortedByDate.filter(d => {
return cycleStarts.includes(d.date)
}),
maxCycleLength: 2
})
const result = getPreviousCycle('2018-06-08')
expect(result).to.eql(null)
})
})
describe('getCyclesBefore', () => {
it('gets previous cycles', () => {
const cycleDaysSortedByDate = [
@@ -1322,4 +1091,4 @@ describe('getMensesDaysRightAfter', () => {
expect(result).to.eql([])
})
})
})
})