Bugzilla – Attachment 178241 Details for
Bug 38010
Migrate vendors to Vue
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 38010: (QA follow-up) Add unit tests
Bug-38010-QA-follow-up-Add-unit-tests.patch (text/plain), 4.60 KB, created by
Matt Blenkinsop
on 2025-02-18 13:50:17 UTC
(
hide
)
Description:
Bug 38010: (QA follow-up) Add unit tests
Filename:
MIME Type:
Creator:
Matt Blenkinsop
Created:
2025-02-18 13:50:17 UTC
Size:
4.60 KB
patch
obsolete
>From ec0cec530a2fa3c7fb6435df047d1b5ae830346e Mon Sep 17 00:00:00 2001 >From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> >Date: Thu, 13 Feb 2025 15:45:27 +0000 >Subject: [PATCH] Bug 38010: (QA follow-up) Add unit tests > >--- > .../integration/Acquisitions/Vendors_spec.ts | 4 +- > t/db_dependent/Koha/Acquisition/Booksellers.t | 77 ++++++++++++++++++- > 2 files changed, 78 insertions(+), 3 deletions(-) > >diff --git a/t/cypress/integration/Acquisitions/Vendors_spec.ts b/t/cypress/integration/Acquisitions/Vendors_spec.ts >index 013f27d1441..51d4d0f2024 100644 >--- a/t/cypress/integration/Acquisitions/Vendors_spec.ts >+++ b/t/cypress/integration/Acquisitions/Vendors_spec.ts >@@ -94,7 +94,7 @@ describe("Vendor CRUD operations", () => { > // Click the button in the toolbar > cy.visit("/cgi-bin/koha/vendors"); > cy.contains("New vendor").click(); >- cy.get("#vendor_add h2").contains("New vendor"); >+ cy.get("#vendor_add h1").contains("Add vendor"); > > // Fill in the form for normal attributes > cy.get("#vendor_add").contains("Submit").click(); >@@ -189,7 +189,7 @@ describe("Vendor CRUD operations", () => { > cy.get("#vendors_list table tbody tr:first").contains("Edit").click(); > cy.wait("@get-vendor"); > cy.wait(500); // Cypress is too fast! Vue hasn't populated the form yet! >- cy.get("#vendor_add h2").contains("Edit vendor"); >+ cy.get("#vendor_add h1").contains("Edit vendor"); > > // Form has been correctly filled in > cy.get("#vendor_name").should("have.value", vendor.name); >diff --git a/t/db_dependent/Koha/Acquisition/Booksellers.t b/t/db_dependent/Koha/Acquisition/Booksellers.t >index 241663d3d3d..14512113598 100755 >--- a/t/db_dependent/Koha/Acquisition/Booksellers.t >+++ b/t/db_dependent/Koha/Acquisition/Booksellers.t >@@ -17,12 +17,13 @@ > > use Modern::Perl; > >-use Test::More tests => 6; >+use Test::More tests => 9; > > use t::lib::TestBuilder; > > use C4::Acquisition qw( NewBasket ); > use C4::Biblio qw( AddBiblio ); >+use C4::Contract qw( AddContract ); > use C4::Budgets qw( AddBudgetPeriod AddBudget ); > use C4::Serials qw( NewSubscription SearchSubscriptions ); > >@@ -168,6 +169,9 @@ subtest '->contacts() tests' => sub { > } > ); > >+ # Ensure contacts aren't being duplicated on store >+ $vendor->contacts( [ $contact_1->unblessed, $contact_2->unblessed ] ); >+ > # Re-fetch vendor > $vendor = Koha::Acquisition::Booksellers->find( $vendor->id ); > my $contacts = $vendor->contacts; >@@ -257,3 +261,74 @@ subtest 'issues' => sub { > > $schema->storage->txn_rollback(); > }; >+ >+subtest 'contracts' => sub { >+ >+ plan tests => 2; >+ >+ $schema->storage->txn_begin(); >+ >+ my $vendor = $builder->build_object( { class => 'Koha::Acquisition::Booksellers' } ); >+ >+ is( scalar( @{ $vendor->contracts } ), 0, 'Vendor has no contracts' ); >+ >+ AddContract( >+ { >+ booksellerid => $vendor->id, >+ contractname => 'Test contract', >+ } >+ ); >+ >+ $vendor = $vendor->get_from_storage; >+ my $contracts = $vendor->contracts; >+ is( scalar( @{$contracts} ), 1, '1 contract stored' ); >+ >+ $schema->storage->txn_rollback(); >+}; >+ >+subtest 'invoices' => sub { >+ >+ plan tests => 3; >+ >+ $schema->storage->txn_begin(); >+ >+ my $vendor = $builder->build_object( { class => 'Koha::Acquisition::Booksellers' } ); >+ >+ is( $vendor->invoices->count, 0, 'Vendor has no invoices' ); >+ >+ Koha::Acquisition::Invoice->new( >+ { >+ booksellerid => $vendor->id, >+ invoicenumber => 'INV12345' >+ } >+ )->store; >+ >+ $vendor = $vendor->get_from_storage; >+ my $invoices = $vendor->invoices; >+ is( $invoices->count, 1, '1 invoice stored' ); >+ is( ref($invoices), 'Koha::Acquisition::Invoices', 'Type is correct' ); >+ >+ $schema->storage->txn_rollback(); >+}; >+ >+subtest 'to_api() tests' => sub { >+ >+ plan tests => 4; >+ >+ $schema->storage->txn_begin; >+ >+ my $vendor = $builder->build_object( { class => 'Koha::Acquisition::Booksellers' } ); >+ >+ is( $vendor->interfaces->count, 0, 'Vendor has no interfaces' ); >+ >+ $vendor->interfaces( >+ [ { name => 'first interface' }, { name => 'second interface', login => 'one_login', password => 'Test1234' } ] >+ ); >+ >+ my $interfaces = $vendor->to_api->{interfaces}; >+ is( scalar(@$interfaces), 2, 'Vendor has two interfaces' ); >+ is( @{$interfaces}[0]->{password}, undef, 'No password set for the interface' ); >+ is( @{$interfaces}[1]->{password}, 'Test1234', 'password is unhashed' ); >+ >+ $schema->storage->txn_rollback; >+}; >-- >2.48.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 38010
:
174119
|
174120
|
174121
|
174122
|
174123
|
174124
|
174125
|
174126
|
174128
|
174129
|
174130
|
174131
|
174132
|
174133
|
174134
|
174135
|
174136
|
174137
|
174138
|
174139
|
174140
|
174141
|
174142
|
174143
|
174144
|
174145
|
174146
|
174147
|
174148
|
174151
|
174152
|
174153
|
174154
|
174155
|
174156
|
174157
|
174158
|
174159
|
174160
|
174161
|
174162
|
174163
|
174164
|
174165
|
174166
|
174167
|
174168
|
174169
|
174170
|
174171
|
174172
|
174173
|
174174
|
174175
|
174176
|
174177
|
174178
|
174179
|
174194
|
174196
|
174197
|
174198
|
174199
|
174200
|
174201
|
174202
|
174203
|
174204
|
174205
|
174206
|
174207
|
174208
|
174209
|
174210
|
174211
|
174212
|
174213
|
174214
|
174215
|
174216
|
174217
|
174218
|
174220
|
174221
|
174222
|
174223
|
174224
|
174225
|
174226
|
174248
|
174266
|
174267
|
174269
|
174270
|
174273
|
174327
|
174328
|
174329
|
174330
|
174331
|
174332
|
174333
|
174334
|
174335
|
174336
|
174337
|
174338
|
174339
|
174340
|
174341
|
174342
|
174343
|
174344
|
174345
|
174346
|
174347
|
174348
|
174349
|
174350
|
174351
|
174352
|
174353
|
174354
|
174355
|
174356
|
174357
|
174358
|
174359
|
174360
|
174603
|
175098
|
175099
|
175100
|
175101
|
175102
|
175103
|
175104
|
175105
|
175106
|
175107
|
175108
|
175109
|
175110
|
175111
|
175112
|
175113
|
175114
|
175115
|
175116
|
175117
|
175118
|
175119
|
175120
|
175121
|
175122
|
175123
|
175124
|
175125
|
175126
|
175127
|
175128
|
175129
|
175130
|
175131
|
175133
|
175134
|
175135
|
175136
|
175137
|
175167
|
175168
|
175170
|
175240
|
175241
|
175242
|
175243
|
175248
|
175249
|
175266
|
175791
|
175799
|
176547
|
178182
|
178183
|
178184
|
178185
|
178186
|
178187
|
178188
|
178189
|
178190
|
178191
|
178192
|
178193
|
178194
|
178195
|
178196
|
178197
|
178198
|
178199
|
178200
|
178201
|
178202
|
178203
|
178204
|
178205
|
178206
|
178207
|
178208
|
178209
|
178210
|
178211
|
178212
|
178213
|
178214
|
178215
|
178216
|
178217
|
178218
|
178219
|
178220
|
178221
|
178222
|
178223
|
178224
|
178225
|
178226
|
178227
|
178228
|
178229
|
178230
|
178231
|
178232
|
178233
|
178234
|
178235
|
178236
|
178237
|
178238
|
178239
|
178240
| 178241 |
178242