Bugzilla – Attachment 43895 Details for
Bug 11431
Custom notification sounds
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[PASSED QA] Bug 11431 [QA Followup] - Unit Tests
PASSED-QA-Bug-11431-QA-Followup---Unit-Tests.patch (text/plain), 6.04 KB, created by
Katrin Fischer
on 2015-10-24 10:05:23 UTC
(
hide
)
Description:
[PASSED QA] Bug 11431 [QA Followup] - Unit Tests
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2015-10-24 10:05:23 UTC
Size:
6.04 KB
patch
obsolete
>From daf34a1e3e4e4ab4bec1090808e5634d9d4b4b75 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Wed, 19 Aug 2015 07:55:31 -0400 >Subject: [PATCH] [PASSED QA] Bug 11431 [QA Followup] - Unit Tests > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > Koha/AudioAlerts.pm | 2 +- > t/db_dependent/AudioAlerts.t | 133 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 134 insertions(+), 1 deletion(-) > create mode 100755 t/db_dependent/AudioAlerts.t > >diff --git a/Koha/AudioAlerts.pm b/Koha/AudioAlerts.pm >index 6117f89..d21a982 100644 >--- a/Koha/AudioAlerts.pm >+++ b/Koha/AudioAlerts.pm >@@ -71,7 +71,7 @@ Gets the last precedence value for audio alerts > sub get_last_precedence { > my ($self) = @_; > >- return $self->_resultset()->get_column('precedence')->max(); >+ return $self->_resultset()->get_column('precedence')->max() || 0; > } > > =head3 move >diff --git a/t/db_dependent/AudioAlerts.t b/t/db_dependent/AudioAlerts.t >new file mode 100755 >index 0000000..3f42885 >--- /dev/null >+++ b/t/db_dependent/AudioAlerts.t >@@ -0,0 +1,133 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Test::More tests => 33; >+ >+BEGIN { >+ use_ok('Koha::AudioAlert'); >+ use_ok('Koha::AudioAlerts'); >+} >+ >+my $schema = Koha::Database->new()->schema(); >+$schema->storage->txn_begin(); >+ >+my $dbh = C4::Context->dbh; >+$dbh->{RaiseError} = 1; >+ >+map { $_->delete() } Koha::AudioAlerts->search(); >+ >+# Check the basics >+diag("Creating 3 audio alerts named a, b and c"); >+ >+my $a = Koha::AudioAlert->new( { selector => 'A', sound => 'test.wav' } )->store(); >+is( $a->precedence, 1, "First alert has a precedence of 1" ); >+ >+my $b = Koha::AudioAlert->new( { selector => 'B', sound => 'sound.mp3' } )->store(); >+is( $b->precedence, 2, "Second alert has a precedence of 2" ); >+ >+my $c = Koha::AudioAlert->new( { selector => 'C', sound => 'test.ogg' } )->store(); >+is( $c->precedence, 3, "Third alert has a precedence of 3" ); >+ >+# Check precedence getting methods >+diag('Testing get_last_precedence and get_next_precedence'); >+is( Koha::AudioAlerts->get_last_precedence(), 3, "Last prececence should be 3" ); >+is( Koha::AudioAlerts->get_next_precedence(), 4, "Next prececence should be 4" ); >+ >+# Check edge cases >+diag('Testing edge cases for moving ( up from 1, down from the last precedence )'); >+ >+$a->move('up'); >+is( $a->precedence, 1, "First alert still has a precedence of 1" ); >+ >+$c->move('down'); >+is( $c->precedence, 3, "Third alert still has a precedence of 3" ); >+ >+# Check moving >+diag("Moving A down by one"); >+$a->move('down'); >+$a = Koha::AudioAlerts->find( $a->id ); >+$b = Koha::AudioAlerts->find( $b->id ); >+$c = Koha::AudioAlerts->find( $c->id ); >+is( $a->precedence, 2, "Alert A has a precedence of 2" ); >+is( $b->precedence, 1, "Alert B has a precedence of 1" ); >+is( $c->precedence, 3, "Alert C has a precedence of 3" ); >+ >+diag("Moving A up by one, should restore original order"); >+$a->move('up'); >+$a = Koha::AudioAlerts->find( $a->id ); >+$b = Koha::AudioAlerts->find( $b->id ); >+$c = Koha::AudioAlerts->find( $c->id ); >+is( $a->precedence, 1, "Alert A has a precedence of 1" ); >+is( $b->precedence, 2, "Alert B has a precedence of 2" ); >+is( $c->precedence, 3, "Alert C has a precedence of 3" ); >+ >+diag("Moving A to the bottom"); >+$a->move('bottom'); >+$a = Koha::AudioAlerts->find( $a->id ); >+$b = Koha::AudioAlerts->find( $b->id ); >+$c = Koha::AudioAlerts->find( $c->id ); >+is( $a->precedence, 3, "Alert A has a precedence of 3" ); >+is( $b->precedence, 1, "Alert B has a precedence of 1" ); >+is( $c->precedence, 2, "Alert C has a precedence of 2" ); >+ >+diag("Moving A to the top, should restore original order"); >+$a->move('top'); >+$a = Koha::AudioAlerts->find( $a->id ); >+$b = Koha::AudioAlerts->find( $b->id ); >+$c = Koha::AudioAlerts->find( $c->id ); >+is( $a->precedence, 1, "Alert A has a precedence of 1" ); >+is( $b->precedence, 2, "Alert B has a precedence of 2" ); >+is( $c->precedence, 3, "Alert C has a precedence of 3" ); >+ >+# Test searching, should be ordered by precedence by default >+diag("Test searching, default search should be ordered by precedence"); >+$a->move('bottom'); >+diag("Changed precedence order from database insert order"); >+diag("Insert order was a, b, c. Precedence order is now b, c, a."); >+( $b, $c, $a ) = Koha::AudioAlerts->search(); >+ >+is( $b->selector, 'B', 'First sound is indeed B' ); >+is( $b->precedence, 1, "Alert B has a precedence of 1" ); >+ >+is( $c->selector, 'C', "Second sound is indeed C" ); >+is( $c->precedence, 2, "Alert C has a precedence of 2" ); >+ >+is( $a->selector, 'A', 'Third sound is indeed A' ); >+is( $a->precedence, 3, "Alert A has a precedence of 3" ); >+ >+# Test fix precedences, should remove gaps in precedences >+diag("Testing precedence fixing. Should remove gaps from precedence list."); >+$a->precedence( 0 )->store(); >+$b->precedence( 50 )->store(); >+$c->precedence( 100 )->store(); >+is( $a->precedence, 0, "Alert A has a precedence of 0" ); >+is( $b->precedence, 50, "Alert B has a precedence of 50" ); >+is( $c->precedence, 100, "Alert C has a precedence of 100" ); >+ >+diag("Running fix_precedences()"); >+Koha::AudioAlerts->fix_precedences(); >+$a = Koha::AudioAlerts->find( $a->id ); >+$b = Koha::AudioAlerts->find( $b->id ); >+$c = Koha::AudioAlerts->find( $c->id ); >+is( $a->precedence, 1, "Alert A has a precedence of 1" ); >+is( $b->precedence, 2, "Alert B has a precedence of 2" ); >+is( $c->precedence, 3, "Alert C has a precedence of 3" ); >+ >+ >+$schema->storage->txn_rollback(); >-- >1.9.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11431
:
29030
|
29031
|
29032
|
29033
|
29034
|
29035
|
29036
|
29037
|
29038
|
29039
|
29119
|
29120
|
29404
|
29764
|
29765
|
29766
|
29767
|
29768
|
29769
|
31145
|
31146
|
31147
|
31148
|
31149
|
31150
|
34637
|
34638
|
34639
|
34640
|
34641
|
34642
|
34643
|
34644
|
34645
|
34646
|
34647
|
34648
|
34649
|
34650
|
34651
|
34652
|
34653
|
34717
|
34718
|
34719
|
34720
|
34864
|
34865
|
34866
|
34867
|
35843
|
35844
|
35845
|
35846
|
38547
|
38548
|
40726
|
40727
|
40728
|
40729
|
40730
|
40731
|
40732
|
41634
|
41661
|
41662
|
42678
|
42679
|
42680
|
42681
|
42682
|
42683
|
42684
|
42685
|
42686
|
42687
|
42688
|
42689
|
42696
|
43753
|
43754
|
43755
|
43756
|
43757
|
43758
|
43759
|
43760
|
43761
|
43762
|
43763
|
43764
|
43765
|
43817
|
43820
|
43821
|
43822
|
43823
|
43824
|
43825
|
43887
|
43888
|
43889
|
43890
|
43891
|
43892
|
43893
|
43894
|
43895
|
43896
|
43897
|
43898
|
43899
|
43900
|
43901
|
43902
|
43903
|
44391
|
44392
|
44393
|
44394
|
44395
|
44396
|
44397
|
44398
|
44399
|
44400
|
44401
|
44402
|
44404
|
44405
|
44407
|
44408
|
44409
|
44411
|
44412
|
44599
|
45135