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
-231
View File
@@ -5,237 +5,6 @@ import cycleModule from '../lib/cycle'
const expect = chai.expect const expect = chai.expect
chai.use(dirtyChai) 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', () => { describe('getCyclesBefore', () => {
it('gets previous cycles', () => { it('gets previous cycles', () => {
const cycleDaysSortedByDate = [ const cycleDaysSortedByDate = [
+72
View File
@@ -0,0 +1,72 @@
import chai from 'chai'
import dirtyChai from 'dirty-chai'
import cycleModule from '../lib/cycle'
const { expect } = chai
chai.use(dirtyChai)
const mayCycle = [
{ date: '2018-05-05' },
{ date: '2018-05-04' },
{ date: '2018-05-03' },
]
const cycleDaysSortedByDate = [
{ date: '2018-07-05' },
{ date: '2018-06-05' },
...mayCycle,
{ date: '2018-04-05' },
{ date: '2018-04-04' },
{ date: '2018-04-03' },
{ date: '2018-04-02' },
]
const cycleStartsSortedByDate = [
{ date: '2018-07-05' },
{ date: '2018-06-05' },
{ date: '2018-05-03' },
{ date: '2018-04-02' },
]
describe('getPreviousCycle', () => {
it('gets previous cycle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
})
expect(getPreviousCycle('2018-06-08')).to.eql(mayCycle)
})
it('returns null when target day is not in a cyle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: [],
})
expect(getPreviousCycle('2018-06-08')).to.eql(null)
})
it('returns null when there is no previous cycle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
})
expect(getPreviousCycle('2018-04-18')).to.eql(null)
})
it('returns null when the previous cycle > maxcyclelength', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
maxCycleLength: 2,
})
expect(getPreviousCycle('2018-06-08')).to.eql(null)
})
})