File tree Expand file tree Collapse file tree 2 files changed +18
-3
lines changed
Classes/ViewRelated/Dashboard/Factories
WooCommerceTests/ViewRelated/Dashboard Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -127,8 +127,10 @@ extension StatsDataTextFormatter {
127127 return DeltaPercentage ( value: 0 ) // Missing or equal values: 0% change
128128 }
129129
130- guard previousValue > 0 else {
131- return DeltaPercentage ( value: 1 ) // Previous value was 0: 100% change
130+ // If the previous value was 0, return a 100% or -100% change
131+ guard previousValue != 0 else {
132+ let deltaValue : Decimal = currentValue > 0 ? 1 : - 1
133+ return DeltaPercentage ( value: deltaValue)
132134 }
133135
134136 return DeltaPercentage ( value: ( currentValue - previousValue) / previousValue)
Original file line number Diff line number Diff line change @@ -307,7 +307,7 @@ final class StatsDataTextFormatterTests: XCTestCase {
307307 XCTAssertEqual ( delta. direction, . zero)
308308 }
309309
310- func test_createDeltaPercentage_returns_100_percent_change_when_previous_value_is_zero ( ) {
310+ func test_createDeltaPercentage_returns_positive_100_percent_change_when_previous_value_is_zero ( ) {
311311 // Given
312312 let previousValue : Double = 0
313313 let currentValue : Double = 10
@@ -320,6 +320,19 @@ final class StatsDataTextFormatterTests: XCTestCase {
320320 XCTAssertEqual ( delta. direction, . positive)
321321 }
322322
323+ func test_createDeltaPercentage_returns_negative_100_percent_change_when_previous_value_is_zero( ) {
324+ // Given
325+ let previousValue : Double = 0
326+ let currentValue : Double = - 10
327+
328+ // When
329+ let delta = StatsDataTextFormatter . createDeltaPercentage ( from: previousValue, to: currentValue)
330+
331+ // Then
332+ XCTAssertEqual ( delta. string, " -100% " )
333+ XCTAssertEqual ( delta. direction, . negative)
334+ }
335+
323336 func test_createDeltaPercentage_returns_negative_100_percent_change_when_current_value_is_zero( ) {
324337 // Given
325338 let previousValue : Double = 10
You can’t perform that action at this time.
0 commit comments