Bug 19759

Summary: TestBuilder generates too many decimals for float
Product: Koha Reporter: Jonathan Druart <jonathan.druart>
Component: Test SuiteAssignee: Jonathan Druart <jonathan.druart>
Status: CLOSED FIXED QA Contact: Marcel de Rooy <m.de.rooy>
Severity: normal    
Priority: P5 - low CC: dominic.pichette, m.de.rooy, mtj, nick
Version: unspecified   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: Trivial patch
Who signed the patch off: Text to go in the release notes:
Version(s) released in:
Attachments: Bug 19759: Make TestBuilder generates only 2 decimals for float
Bug 19759: Make TestBuilder generates only 2 decimals for float
Bug 19759: Make TestBuilder generates only 2 decimals for float
Bug 19759: Make TestBuilder generates only 2 decimals for float
Bug 19759: Fix failing test in Chargelostitem.t

Description Jonathan Druart 2017-12-06 16:06:56 UTC
For instance items.replacementprice is decimal(8,2) but more than 2 decimals are generated.

It leads to issues when we compare expected objects:

    #          got: '135623.866142537'
    #     expected: '135623.87'
Comment 1 Jonathan Druart 2017-12-06 16:09:28 UTC
Created attachment 69562 [details] [review]
Bug 19759: Make TestBuilder generates only 2 decimals for float

For instance items.replacementprice is decimal(8,2) but more than 2 decimals are generated.

It leads to issues when we compare expected objects:

    #          got: '135623.866142537'
    #     expected: '135623.87'

Test plan:
  prove t/db_dependent/TestBuilder.t
must return green
Comment 2 Jonathan Druart 2017-12-06 16:44:53 UTC
Created attachment 69566 [details] [review]
Bug 19759: Make TestBuilder generates only 2 decimals for float

For instance items.replacementprice is decimal(8,2) but more than 2 decimals are generated.

It leads to issues when we compare expected objects:

    #          got: '135623.866142537'
    #     expected: '135623.87'

Test plan:
  prove t/db_dependent/TestBuilder.t
must return green
Comment 3 Dominic Pichette 2017-12-08 21:11:52 UTC
Created attachment 69666 [details] [review]
Bug 19759: Make TestBuilder generates only 2 decimals for float

For instance items.replacementprice is decimal(8,2) but more than 2 decimals are generated.

It leads to issues when we compare expected objects:

    #          got: '135623.866142537'
    #     expected: '135623.87'

Test plan:
  prove t/db_dependent/TestBuilder.t
must return green

Signed-off-by: Dominic Pichette <dominic@inlibro.com>
Comment 4 Marcel de Rooy 2017-12-15 10:58:10 UTC
Created attachment 69821 [details] [review]
Bug 19759: Make TestBuilder generates only 2 decimals for float

For instance items.replacementprice is decimal(8,2) but more than 2 decimals are generated.

It leads to issues when we compare expected objects:

    #          got: '135623.866142537'
    #     expected: '135623.87'

Test plan:
  prove t/db_dependent/TestBuilder.t
must return green

Signed-off-by: Dominic Pichette <dominic@inlibro.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Somehow I have the feeling that we should allow more decimals sometimes
and perhaps have a number of decimals parameter or so. Think of fields
like currency or discount.
But the current issues justify this change.
Comment 5 Marcel de Rooy 2017-12-15 10:59:22 UTC
(In reply to Marcel de Rooy from comment #4)
> like currency or discount.

currency rate
Comment 6 Jonathan Druart 2017-12-18 15:19:21 UTC
Pushed to master for 18.05, thanks to everybody involved!
Comment 7 Jonathan Druart 2017-12-18 17:48:30 UTC
Created attachment 69861 [details] [review]
Bug 19759: Fix failing test in Chargelostitem.t

t/db_dependent/Circulation/Chargelostitem.t .. 1/6
 #   Failed test 'The accountline amount should be precessfee value '
 #   at t/db_dependent/Circulation/Chargelostitem.t line 71.
 #          got: '4.5968041848873e+20'
 #     expected: '459680418488730451968.00'

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Comment 8 Jonathan Druart 2017-12-18 17:49:12 UTC
Last patch pushed to master.
Comment 9 Nick Clemens 2017-12-20 13:02:55 UTC
Awesome work all! Pushed to stable for 17.11.01