From 9922b2e7b8b9a53404d1fa5d104d68727af6ca0e Mon Sep 17 00:00:00 2001
From: Julia Friesel <julia.friesel@gmail.com>
Date: Mon, 11 Jun 2018 14:56:34 +0200
Subject: [PATCH] Fix bug for just one bleeding day

---
 get-cycle-day-number.js    |  8 +++++++-
 test/get-cycle-day.spec.js | 14 ++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/get-cycle-day-number.js b/get-cycle-day-number.js
index b45c4ae6..e5ff21aa 100644
--- a/get-cycle-day-number.js
+++ b/get-cycle-day-number.js
@@ -16,7 +16,13 @@ export default function config(opts = {}) {
         return day
       })
 
-    const firstBleedingDayBeforeTargetDayIndex = withWrappedDates.findIndex(day => day.wrappedDate.isBefore(targetDate))
+    const firstBleedingDayBeforeTargetDayIndex = withWrappedDates.findIndex(day => {
+      return (
+        day.wrappedDate.isEqual(targetDate) ||
+        day.wrappedDate.isBefore(targetDate)
+      )
+    })
+
     if (firstBleedingDayBeforeTargetDayIndex < 0) return null
     const previousBleedingDays = withWrappedDates.slice(firstBleedingDayBeforeTargetDayIndex)
 
diff --git a/test/get-cycle-day.spec.js b/test/get-cycle-day.spec.js
index fa6f27a7..222d62e9 100644
--- a/test/get-cycle-day.spec.js
+++ b/test/get-cycle-day.spec.js
@@ -78,6 +78,20 @@ describe('getCycleDay', () => {
     const result = getCycleDayNumber(targetDate)
     expect(result).to.eql(18)
   })
+
+  it('gets the correct number if the target day is the only bleeding day', () => {
+    const bleedingDays = [{
+      date: '2018-05-13',
+      bleeding: {
+        value: 2
+      }
+    }]
+
+    const targetDate = '2018-05-13'
+    const getCycleDayNumber = getCycleDayNumberModule({bleedingDaysSortedByDate: bleedingDays})
+    const result = getCycleDayNumber(targetDate)
+    expect(result).to.eql(1)
+  })
 })
 
 describe('getCycleDay returns null', () => {
-- 
GitLab