The prior "topup" start mode for balance intervals
(contract_balances) creates intervals for each
top-up using a voucher, resulting in dynamic length.
This new "topup_interval" start mode will just align
the *first* balance interval upon the topup. Subsequent
intervals use the constant interval unit+count
specified in the profile package.
Melita user story is completely covered now.
Change-Id: I0a8b8d73a7fbf054d0aa8b2b1e73a54609fdeee0
We have to enable test explicitly using config.yml:
> $yaml->[0]->{www_admin}->{api_debug_opts}->{allow_fake_client_time} = 1;
> $yaml->[0]->{www_admin}->{api_debug_opts}->{allow_delay_commit} = 1;
Otherwise the test api-balanceintervals.t will be skipped.
Change-Id: I280e0199fa5957ad01bc3a59b64188f80a37635e
+applying profile package and billing mappings
+testcase in api-balanceintervals.t
+caveats: to meet melita's user story, an additional 'topup_interval' interval start mode will be required. the currently implemented 'topup' start mode restarts intervals upon every topup and therefore does not provide constantinterval lengths.
Change-Id: I0a4898783c023749994e94e6909833a42debe259
+ synchronized contract balance catchup
+ balance interval resizing upon profile package transitions
+ dynamic interval length, interval start, carry-over propagation, ..
+ end-of-month 'preserve' mode correction for strictly aligned month intervals for start_mode=customer "create" timestamp
+ new api/balanceintervals resource to inspect contracts' balance interval histories
+ updated affected panel UI controllers
+ test case with time warps using Time::Fake
caveats:
- creating an invoice for a given 'period' (month) has to be refactored to select a disitnct balance interval. right now it takes the last interval in the month specified.
- generate_invoice.pl is broken and needs a major refactoring
Change-Id: I7bb54a83b76e510b1baa573a986d05400a7fec1e
-properly validate billing mapping intervals
-api/contracts and api/customers complete
+the problem with updating the "prepaid" preference remains at the moment
+billing_mappings field contains future (editable) mappings only, the full schedule is given in a separate field
+hal-links to all occurring billing profiles and networks
-extended tests: api-customer.t and api-contract.t
-api-billingnetworks.t test
-billing networks panel controller
+search by enclosed IP address
-panel UIs for billing networks, customers, contracts
+past billing mapping intervals that cannot be edited are displayed by a seperate hfh "block" part of the billing_profiles repeatable
-profile packages api, UI
+terminating billing profiles (MT#8645) will be broken
+fixed now: profile cannot be terminated unless there are:
-zero non-terminated customers, whose mappings contain the profile with future or open end
-zero profile packages, that link to the profile in either one of their initial-, underrun- or topup profile sets
+panel edit should work, termination wip
+topup_profiles w/o amounts
+contracts/customers API profile_package_id field:
+apply the package's initial profiles
+api/customer and api/contract profile definition modes (id/profiles/package)
+api OK, api-customer.t tests
+customer and contract panel UI with selector to specify actual billing mapping, schedule or profile package (same as api)
+terminate logic harmonized: profiles, networks, packages
+api tests updated
+prepare for merging: cleanup, enable tests
Change-Id: I6c0dec72f490b5731fc673cd393d6aeb08dd8143
+error message in test descriptions texts
+with recent changes to "description" fields to "required", the strict_sql_mode flage in api-journals.t has to be set.
+missing cftimestes and cfdestinationsets DELETE methods are now finally "journalized" and tested OK.
+other tests were disabled:
>test_billingzone -> journal settings not in yaml file yet, test_customerpreferences -> a valid ncos level item has to be referred (since today?) - ncos api crud methods not journalized yet
>test_profilepreferences -> a valid rewrite rule set item has to be referred (since today?) - rewrite rule set api crud methods not journalized yet
>test_autoattendants -> journal settings not in yaml file yet
>test_subscriberpreferences -> a valid ncos level item has to be referred (since today?) - ncos api crud methods not journalized yet
Change-Id: I75b24b3eb0758d6e4e248758c7861f93abc791c0
-enhanced test detail: did not detect missing CRUD operations yet
-query param 'operation' didn't work for 'recent' yournal entry of all API resources so far
-fix of several copy paste errors in existing rest api code
-...
Change-Id: I71b54212d8126b0280fcad2e568fad52a673cbf0
the journal module introduces a change history of
resources modified by api invocations. the history of
the 'customer' resource demo is accessible at
/api/customers/x/journal.
Change-Id: I4d5d11bc3e35160feed587ce4c1db565991866b2
We have disabled (by default) www_csc and split new
selfcare and admin interfaces, selenium tests should be
updated accordingly.
Change-Id: Idef367a8b4bec1624a3d11819f03ef18f1b94a16
if this ajax call is not yet finished it changes the table, which interferes
with the commands which follow
remove it, as there should be only one row anyways
see 5751#c37733
We should now have working baselines for
- collections (SystemContacts)
- items (SystemContactsItem)
with support for
- collections: OPTIONS, HEAD, GET, POST
- items: OPTIONS, HEAD, GET, PUT, PATCH, DELETE
covered by according tests and with a proper API documentation.
Clearly distinguish between systemcontacts (those without reseller) from
customercontacts (those with resellers). Separating them frees us from
having to handle reseller_id magic.
The tests t/controller_NAME.t are automatically generated by the
catalyst.pl script. They were not complete and individually dont have much
function, so lets group them together in one file.
A problem with the selenium installation on our jenkins seems
to be, that sometimes a page is loaded twice, which for example
deletes an item twice, which results in an error message in the
panel. For now, lets mark the tests which fail on that reason optional.
all selenium tests are working locally with selenium 2.31.0 and
phantomjs 1.9.1 and an empty db-schema dump
particular fixes:
- skip some tests, when no domain is yet created
- select_if_unselected to prevent unselecting preselected checkboxes
- increase some waiting times to fix races with ajax calls
Don't use JE for data validation, as it adds lots of processing overhead.
Properly use Formhandler for data validation.
Catch DB errors properly.
Write basic auth test.
The tests t/controller_NAME.t are automatically generated by the
catalyst.pl script. They were not complete and individually dont have much
function, so lets group them together in one file.
A problem with the selenium installation on our jenkins seems
to be, that sometimes a page is loaded twice, which for example
deletes an item twice, which results in an error message in the
panel. For now, lets mark the tests which fail on that reason optional.
all selenium tests are working locally with selenium 2.31.0 and
phantomjs 1.9.1 and an empty db-schema dump
particular fixes:
- skip some tests, when no domain is yet created
- select_if_unselected to prevent unselecting preselected checkboxes
- increase some waiting times to fix races with ajax calls
for NGCP::Schema
we activate this behaviour by setting the environment variable
NGCP_PANEL_CONFIG_LOCAL_SUFFIX to "testing" which is a feature
from Catalyst::Plugin::ConfigLoader