diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql index f0b9c1fedb04e432c1ed6d1e050eafc25210264b..1430b08b8020cadf2a07781ab4c8f0e09f7cde6f 100755 --- a/migration/20.10/2010.sql +++ b/migration/20.10/2010.sql @@ -191,7 +191,7 @@ UPDATE groupbasket SET list_event_data = '{"canUpdateDocuments":true}' WHERE lis /* REGISTERED MAIL */ CREATE TABLE IF NOT EXISTS issuing_sites ( id SERIAL NOT NULL, - site_label CHARACTER VARYING(256) NOT NULL, + label CHARACTER VARYING(256) NOT NULL, post_office_label CHARACTER VARYING(256), account_number CHARACTER VARYING(256), address_number CHARACTER VARYING(256), diff --git a/rest/index.php b/rest/index.php index 70982c6456dc0ac4c7b86de0844491d623200b45..1632bd3b452d52314dfaf7914297990bf1b71770 100755 --- a/rest/index.php +++ b/rest/index.php @@ -626,7 +626,7 @@ $app->get('/registeredMail/ranges/{id}', \RegisteredMail\controllers\RegisteredN $app->post('/registeredMail/ranges', \RegisteredMail\controllers\RegisteredNumberRangeController::class . ':create'); $app->put('/registeredMail/ranges/{id}', \RegisteredMail\controllers\RegisteredNumberRangeController::class . ':update'); $app->delete('/registeredMail/ranges/{id}', \RegisteredMail\controllers\RegisteredNumberRangeController::class . ':delete'); -$app->get('/registeredMail/ranges/type/{type}', \RegisteredMail\controllers\RegisteredNumberRangeController::class . ':getLastNumberByType'); +$app->get('/registeredMail/ranges/last/type/{type}', \RegisteredMail\controllers\RegisteredNumberRangeController::class . ':getLastNumberByType'); $app->get('/registeredMail/sites/type/{type}', \RegisteredMail\controllers\IssuingSiteController::class . ':getByType'); $app->get('/registeredMail/countries', \RegisteredMail\controllers\RegisteredMailController::class . ':getCountries'); diff --git a/sql/structure.sql b/sql/structure.sql index 67f53d3234fcacf2ba6944579af4055d148edb19..5662d5227baab99174e5ca22b999a5665fba1732 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -1410,7 +1410,7 @@ WITH (OIDS=FALSE); CREATE TABLE IF NOT EXISTS issuing_sites ( id SERIAL NOT NULL, - site_label CHARACTER VARYING(256) NOT NULL, + label CHARACTER VARYING(256) NOT NULL, post_office_label CHARACTER VARYING(256), account_number CHARACTER VARYING(256), address_number CHARACTER VARYING(256), diff --git a/src/app/registeredMail/controllers/IssuingSiteController.php b/src/app/registeredMail/controllers/IssuingSiteController.php index 27da672ac2155cf355157c554296e22a19c7373d..4a1012fdb417aa1355da8a7d3908de19c4b7db65 100644 --- a/src/app/registeredMail/controllers/IssuingSiteController.php +++ b/src/app/registeredMail/controllers/IssuingSiteController.php @@ -33,18 +33,20 @@ class IssuingSiteController $sites = IssuingSiteModel::get(); foreach ($sites as $key => $site) { + $ranges = RegisteredNumberRangeModel::get(['where' => ['site_id = ?'], 'data' => [$site['id']]]); $sites[$key] = [ 'id' => $site['id'], - 'siteLabel' => $site['site_label'], - 'postOfficeLabel' => $site['post_office_label'] ?? null, - 'accountNumber' => $site['account_number'] ?? null, - 'addressNumber' => $site['address_number'] ?? null, - 'addressStreet' => $site['address_street'] ?? null, - 'addressAdditional1' => $site['address_additional1'] ?? null, - 'addressAdditional2' => $site['address_additional2'] ?? null, - 'addressPostcode' => $site['address_postcode'] ?? null, - 'addressTown' => $site['address_town'] ?? null, - 'addressCountry' => $site['address_country'] ?? null + 'label' => $site['label'], + 'postOfficeLabel' => $site['post_office_label'], + 'accountNumber' => $site['account_number'], + 'addressNumber' => $site['address_number'], + 'addressStreet' => $site['address_street'], + 'addressAdditional1' => $site['address_additional1'], + 'addressAdditional2' => $site['address_additional2'], + 'addressPostcode' => $site['address_postcode'], + 'addressTown' => $site['address_town'], + 'addressCountry' => $site['address_country'], + 'countRanges' => count($ranges) ]; } @@ -65,7 +67,7 @@ class IssuingSiteController $site = [ 'id' => $site['id'], - 'siteLabel' => $site['site_label'], + 'label' => $site['label'], 'postOfficeLabel' => $site['post_office_label'] ?? null, 'accountNumber' => $site['account_number'] ?? null, 'addressNumber' => $site['address_number'] ?? null, @@ -98,8 +100,8 @@ class IssuingSiteController $body = $request->getParsedBody(); - if (!Validator::stringType()->notEmpty()->validate($body['siteLabel'])) { - return $response->withStatus(400)->withJson(['errors' => 'Body siteLabel is empty or not a string']); + if (!Validator::stringType()->notEmpty()->validate($body['label'])) { + return $response->withStatus(400)->withJson(['errors' => 'Body label is empty or not a string']); } if (!empty($body['entities']) && !Validator::arrayType()->validate($body['entities'])) { return $response->withStatus(400)->withJson(['errors' => 'Body entities is not an array']); @@ -112,7 +114,7 @@ class IssuingSiteController } $id = IssuingSiteModel::create([ - 'siteLabel' => $body['siteLabel'], + 'label' => $body['label'], 'postOfficeLabel' => $body['postOfficeLabel'] ?? null, 'accountNumber' => $body['accountNumber'], 'addressNumber' => $body['addressNumber'] ?? null, @@ -155,8 +157,8 @@ class IssuingSiteController $body = $request->getParsedBody(); - if (!Validator::stringType()->notEmpty()->validate($body['siteLabel'])) { - return $response->withStatus(400)->withJson(['errors' => 'Body siteLabel is empty or not a string']); + if (!Validator::stringType()->notEmpty()->validate($body['label'])) { + return $response->withStatus(400)->withJson(['errors' => 'Body label is empty or not a string']); } if (!empty($body['entities']) && !Validator::arrayType()->validate($body['entities'])) { return $response->withStatus(400)->withJson(['errors' => 'Body entities is not an array']); @@ -169,8 +171,8 @@ class IssuingSiteController } IssuingSiteModel::update([ - 'set' => [ - 'site_label' => $body['siteLabel'], + 'set' => [ + 'label' => $body['label'], 'post_office_label' => $body['postOfficeLabel'] ?? null, 'account_number' => $body['accountNumber'] ?? null, 'address_number' => $body['addressNumber'] ?? null, @@ -249,8 +251,8 @@ class IssuingSiteController $sitesIds = RegisteredNumberRangeModel::get([ 'select' => ['site_id'], - 'where' => ['type = ?'], - 'data' => [$args['type']] + 'where' => ['type = ?', 'status = ?'], + 'data' => [$args['type'], 'OK'] ]); if (empty($sitesIds)) { @@ -266,7 +268,7 @@ class IssuingSiteController foreach ($sites as $key => $site) { $sites[$key] = [ 'id' => $site['id'], - 'siteLabel' => $site['site_label'], + 'label' => $site['label'], 'postOfficeLabel' => $site['post_office_label'], 'accountNumber' => $site['account_number'], 'addressNumber' => $site['address_number'], diff --git a/src/app/registeredMail/controllers/RegisteredNumberRangeController.php b/src/app/registeredMail/controllers/RegisteredNumberRangeController.php index dbcff72665c0879690399dc787c128817ee98467..5ac70dbaf8d4d41816f8ceb28fb1f10ee2a76a8e 100644 --- a/src/app/registeredMail/controllers/RegisteredNumberRangeController.php +++ b/src/app/registeredMail/controllers/RegisteredNumberRangeController.php @@ -52,7 +52,7 @@ class RegisteredNumberRangeController 'currentNumber' => $range['current_number'], 'fullness' => $fullness, 'siteId' => $range['site_id'], - 'siteLabel' => $site['site_label'] + 'label' => $site['label'] ]; } @@ -92,7 +92,7 @@ class RegisteredNumberRangeController 'currentNumber' => $range['current_number'], 'fullness' => $fullness, 'siteId' => $range['site_id'], - 'siteLabel' => $site['site_label'] + 'label' => $site['label'] ]; return $response->withJson(['range' => $range]); @@ -129,8 +129,8 @@ class RegisteredNumberRangeController $ranges = RegisteredNumberRangeModel::get([ 'select' => ['range_start', 'range_end'], - 'where' => ['type = ?'], - 'data' => [$body['registeredMailType']], + 'where' => ['type = ?', 'site_id = ?'], + 'data' => [$body['registeredMailType'], $body['siteId']], 'orderBy' => ['range_end desc'] ]); @@ -149,7 +149,7 @@ class RegisteredNumberRangeController 'creator' => $GLOBALS['id'], 'siteId' => $body['siteId'], 'status' => empty($body['status']) ? 'SPD' : $body['status'], - 'currentNumber' => $body['rangeStart'] + 'currentNumber' => null ]); HistoryController::add([ @@ -200,8 +200,8 @@ class RegisteredNumberRangeController $ranges = RegisteredNumberRangeModel::get([ 'select' => ['range_start', 'range_end'], - 'where' => ['type = ?', 'id != ?'], - 'data' => [$body['registeredMailType'], $args['id']], + 'where' => ['type = ?', 'id != ?', 'site_id = ?'], + 'data' => [$body['registeredMailType'], $args['id'], $range['site_id']], 'orderBy' => ['range_end desc'] ]); @@ -217,8 +217,8 @@ class RegisteredNumberRangeController 'set' => [ 'status' => 'END' ], - 'where' => ['type = ?', 'status = ?'], - 'data' => [$body['registeredMailType'], 'OK'] + 'where' => ['type = ?', 'status = ?', 'site_id = ?'], + 'data' => [$body['registeredMailType'], 'OK', $range['site_id']] ]); } @@ -300,13 +300,13 @@ class RegisteredNumberRangeController $range = RegisteredNumberRangeModel::get([ 'select' => ['range_end'], - 'where' => ['type = ?'], - 'data' => [$args['type']], + 'where' => ['type = ?', 'status = ?'], + 'data' => [$args['type'], 'OK'], 'orderBy' => ['range_end desc'] ]); if (empty($range)) { - return $response->withStatus(403)->withJson(['errors' => 'No range found for type : ' . $args['type']]); + return $response->withJson(['lastNumber' => 1]); } $range = $range[0]; diff --git a/src/app/registeredMail/models/IssuingSiteModel.php b/src/app/registeredMail/models/IssuingSiteModel.php index 34caf93928b9c36a42d2872fbadb742f1092d76f..f5554ac9191648134930e293595aa304c845e1c0 100644 --- a/src/app/registeredMail/models/IssuingSiteModel.php +++ b/src/app/registeredMail/models/IssuingSiteModel.php @@ -54,8 +54,8 @@ class IssuingSiteModel public static function create(array $args) { - ValidatorModel::notEmpty($args, ['siteLabel']); - ValidatorModel::stringType($args, ['siteLabel']); + ValidatorModel::notEmpty($args, ['label']); + ValidatorModel::stringType($args, ['label']); $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'issuing_sites_id_seq']); @@ -63,7 +63,7 @@ class IssuingSiteModel 'table' => 'issuing_sites', 'columnsValues' => [ 'id' => $nextSequenceId, - 'site_label' => $args['siteLabel'], + 'label' => $args['label'], 'post_office_label' => $args['postOfficeLabel'] ?? null, 'account_number' => $args['accountNumber'] ?? null, 'address_number' => $args['addressNumber'] ?? null, diff --git a/src/app/registeredMail/models/RegisteredNumberRangeModel.php b/src/app/registeredMail/models/RegisteredNumberRangeModel.php index 8c8f88b09de166c0b0bb63f59c35c6692bfd5df3..5ab2ff28105af8915750487f00b1632e5ff325f4 100644 --- a/src/app/registeredMail/models/RegisteredNumberRangeModel.php +++ b/src/app/registeredMail/models/RegisteredNumberRangeModel.php @@ -54,7 +54,7 @@ class RegisteredNumberRangeModel public static function create(array $args) { - ValidatorModel::notEmpty($args, ['type', 'rangeStart', 'rangeEnd', 'siteId', 'currentNumber', 'status']); + ValidatorModel::notEmpty($args, ['type', 'rangeStart', 'rangeEnd', 'siteId', 'status']); ValidatorModel::stringType($args, ['type', 'status']); ValidatorModel::intVal($args, ['rangeStart', 'rangeEnd', 'siteId', 'currentNumber']); diff --git a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.html b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.html index ee97af627dab5db0c7d23f91df1f427477e4af6b..9430e0eac291df284a87ff277beb6ecab415238b 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.html +++ b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.html @@ -57,12 +57,12 @@ <mat-cell *matCellDef="let element"> {{element.accountNumber}} </mat-cell> </ng-container> - <ng-container matColumnDef="siteLabel"> + <ng-container matColumnDef="label"> <mat-header-cell *matHeaderCellDef mat-sort-header> {{'lang.label' | translate}} </mat-header-cell> <mat-cell *matCellDef="let element"> - {{element.siteLabel}} </mat-cell> + {{element.label}} </mat-cell> </ng-container> <ng-container matColumnDef="postOfficeLabel"> <mat-header-cell *matHeaderCellDef mat-sort-header> @@ -92,4 +92,4 @@ </div> </div> </mat-sidenav-content> -</mat-sidenav-container> \ No newline at end of file +</mat-sidenav-container> diff --git a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.ts b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.ts index 9a1524caea62bf13ecc877890c217aa9a676e464..0376705e4ec32113aa6887e958542aa2783c2015 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.ts +++ b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site-list.component.ts @@ -45,8 +45,8 @@ export class IssuingSiteListComponent implements OnInit { data: any[] = []; - displayedColumns = ['accountNumber', 'siteLabel', 'postOfficeLabel', 'actions']; - filterColumns = ['accountNumber', 'siteLabel', 'postOfficeLabel']; + displayedColumns = ['accountNumber', 'label', 'postOfficeLabel', 'actions']; + filterColumns = ['accountNumber', 'label', 'postOfficeLabel']; @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator; @ViewChild(MatSort, { static: false }) sort: MatSort; diff --git a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.html b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.html index e9897b1b0fc427f355202c4a81142032ab9c637e..e20888f35943ea08702e3c4bc34ce315a33b8c4e 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.html +++ b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.html @@ -22,7 +22,7 @@ <div> <mat-form-field> <mat-label>{{'lang.siteName' | translate}}</mat-label> - <input matInput formControlName="siteLabel"> + <input matInput formControlName="label"> </mat-form-field> <mat-form-field> <mat-label>{{'lang.coclicoNumber' | translate}}</mat-label> diff --git a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.ts b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.ts index ed1666378a7c389a3d923f4a071145a9902d8380..f0abdffb82f9f98459c9655aab9057e955881d52 100644 --- a/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.ts +++ b/src/frontend/app/administration/registered-mail/issuing-site/issuing-site.component.ts @@ -63,7 +63,7 @@ export class IssuingSiteComponent implements OnInit { this.initAutocompleteAddressBan(); this.adminFormGroup = this._formBuilder.group({ id: [null], - siteLabel: ['', Validators.required], + label: ['', Validators.required], postOfficeLabel: ['', Validators.required], accountNumber: ['', Validators.required], addressNumber: [''], @@ -103,7 +103,7 @@ export class IssuingSiteComponent implements OnInit { tap((data: any) => { this.adminFormGroup = this._formBuilder.group({ id: [this.id], - siteLabel: [data.site.siteLabel, Validators.required], + label: [data.site.label, Validators.required], postOfficeLabel: [data.site.postOfficeLabel, Validators.required], accountNumber: [data.site.accountNumber, Validators.required], addressNumber: [data.site.addressNumber], diff --git a/src/frontend/app/administration/registered-mail/registered-mail.component.ts b/src/frontend/app/administration/registered-mail/registered-mail.component.ts index 10387d86fd52e08430a2f522258fc5a54b2f6064..fb94860c7c9ea75792e0215991c5470c6ac8f3a6 100644 --- a/src/frontend/app/administration/registered-mail/registered-mail.component.ts +++ b/src/frontend/app/administration/registered-mail/registered-mail.component.ts @@ -106,7 +106,7 @@ export class RegisteredMailComponent implements OnInit { this.customerAccountNumberList = data['sites'].map((item: any) => { return { id: item.id, - label: `${item.siteLabel} (${item.accountNumber})` + label: `${item.label} (${item.accountNumber})` }; }); }), diff --git a/test/unitTests/app/registeredMail/IssuingSiteControllerTest.php b/test/unitTests/app/registeredMail/IssuingSiteControllerTest.php index 8858885c9ca240011748501499ac9595e801b8c6..8321c605c0dd716efc31c20921ceaa0c3b5f0181 100644 --- a/test/unitTests/app/registeredMail/IssuingSiteControllerTest.php +++ b/test/unitTests/app/registeredMail/IssuingSiteControllerTest.php @@ -22,7 +22,7 @@ class IssuingSiteControllerTest extends TestCase $request = \Slim\Http\Request::createFromEnvironment($environment); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', @@ -51,7 +51,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertNotEmpty($responseBody['site']); $this->assertSame(self::$id, $responseBody['site']['id']); - $this->assertSame('Scranton', $responseBody['site']['siteLabel']); + $this->assertSame('Scranton', $responseBody['site']['label']); $this->assertSame('Scranton Post Office', $responseBody['site']['postOfficeLabel']); $this->assertSame('42', $responseBody['site']['accountNumber']); $this->assertSame('1725', $responseBody['site']['addressStreet']); @@ -75,10 +75,10 @@ class IssuingSiteControllerTest extends TestCase $response = $issuingSiteController->create($fullRequest, new \Slim\Http\Response()); $this->assertSame(400, $response->getStatusCode()); $responseBody = json_decode((string)$response->getBody(), true); - $this->assertSame('Body siteLabel is empty or not a string', $responseBody['errors']); + $this->assertSame('Body label is empty or not a string', $responseBody['errors']); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', @@ -97,7 +97,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertSame('Body entities is not an array', $responseBody['errors']); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', @@ -151,7 +151,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertNotEmpty($responseBody['sites'][0]); $this->assertSame(self::$id, $responseBody['sites'][0]['id']); - $this->assertSame('Scranton', $responseBody['sites'][0]['siteLabel']); + $this->assertSame('Scranton', $responseBody['sites'][0]['label']); $this->assertSame('Scranton Post Office', $responseBody['sites'][0]['postOfficeLabel']); $this->assertSame('42', $responseBody['sites'][0]['accountNumber']); $this->assertSame('1725', $responseBody['sites'][0]['addressStreet']); @@ -189,7 +189,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertNotEmpty($responseBody['site']); $this->assertSame(self::$id, $responseBody['site']['id']); - $this->assertSame('Scranton', $responseBody['site']['siteLabel']); + $this->assertSame('Scranton', $responseBody['site']['label']); $this->assertSame('Scranton Post Office', $responseBody['site']['postOfficeLabel']); $this->assertSame('42', $responseBody['site']['accountNumber']); $this->assertSame('1725', $responseBody['site']['addressStreet']); @@ -225,7 +225,7 @@ class IssuingSiteControllerTest extends TestCase $request = \Slim\Http\Request::createFromEnvironment($environment); $body = [ - 'siteLabel' => 'Scranton - UP', + 'label' => 'Scranton - UP', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressName' => 'Dunder Mifflin Scranton', @@ -250,7 +250,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertNotEmpty($responseBody['site']); $this->assertSame(self::$id, $responseBody['site']['id']); - $this->assertSame('Scranton - UP', $responseBody['site']['siteLabel']); + $this->assertSame('Scranton - UP', $responseBody['site']['label']); $this->assertSame('Scranton Post Office', $responseBody['site']['postOfficeLabel']); $this->assertSame('42', $responseBody['site']['accountNumber']); $this->assertSame('1725', $responseBody['site']['addressStreet']); @@ -275,10 +275,10 @@ class IssuingSiteControllerTest extends TestCase $response = $issuingSiteController->update($fullRequest, new \Slim\Http\Response(), ['id' => self::$id]); $this->assertSame(400, $response->getStatusCode()); $responseBody = json_decode((string)$response->getBody(), true); - $this->assertSame('Body siteLabel is empty or not a string', $responseBody['errors']); + $this->assertSame('Body label is empty or not a string', $responseBody['errors']); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', @@ -297,7 +297,7 @@ class IssuingSiteControllerTest extends TestCase $this->assertSame('Body entities is not an array', $responseBody['errors']); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', diff --git a/test/unitTests/app/registeredMail/RegisteredNumberRangeControllerTest.php b/test/unitTests/app/registeredMail/RegisteredNumberRangeControllerTest.php index 1d2972bb53906493c9d1f3606b315c47d6a137c6..c1443eeb58ac470631a9447991c361bed348114c 100644 --- a/test/unitTests/app/registeredMail/RegisteredNumberRangeControllerTest.php +++ b/test/unitTests/app/registeredMail/RegisteredNumberRangeControllerTest.php @@ -24,7 +24,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $request = \Slim\Http\Request::createFromEnvironment($environment); $body = [ - 'siteLabel' => 'Scranton', + 'label' => 'Scranton', 'postOfficeLabel' => 'Scranton Post Office', 'accountNumber' => 42, 'addressStreet' => '1725', @@ -45,7 +45,7 @@ class RegisteredNumberRangeControllerTest extends TestCase self::$siteId = $responseBody['id']; $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 1000, @@ -69,7 +69,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertNotEmpty($responseBody['range']); $this->assertSame(self::$id, $responseBody['range']['id']); - $this->assertSame('B01', $responseBody['range']['registeredMailType']); + $this->assertSame('2D', $responseBody['range']['registeredMailType']); $this->assertSame('AZPOKF30KDZP', $responseBody['range']['trackerNumber']); $this->assertSame(1, $responseBody['range']['rangeStart']); $this->assertSame(1000, $responseBody['range']['rangeEnd']); @@ -92,7 +92,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body registeredMailType is empty or not a string', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01' + 'registeredMailType' => '2D' ]; $fullRequest = \httpRequestCustom::addContentInBody($body, $request); @@ -102,7 +102,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body trackerNumber is empty or not a string', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', ]; $fullRequest = \httpRequestCustom::addContentInBody($body, $request); @@ -113,7 +113,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body rangeStart is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, ]; @@ -125,7 +125,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body rangeEnd is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 1000, @@ -138,7 +138,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body siteId is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 1000, @@ -151,6 +151,20 @@ class RegisteredNumberRangeControllerTest extends TestCase $responseBody = json_decode((string)$response->getBody(), true); $this->assertSame('Body siteId does not exist', $responseBody['errors']); + $body = [ + 'registeredMailType' => '2D', + 'trackerNumber' => 'AZPOKF30KDZP', + 'rangeStart' => 500, + 'rangeEnd' => 1500, + 'siteId' => self::$siteId + ]; + $fullRequest = \httpRequestCustom::addContentInBody($body, $request); + + $response = $registeredNumberRangeController->create($fullRequest, new \Slim\Http\Response()); + $this->assertSame(400, $response->getStatusCode()); + $responseBody = json_decode((string)$response->getBody(), true); + $this->assertSame('Range overlaps another range', $responseBody['errors']); + $GLOBALS['login'] = 'bbain'; $userInfo = \User\models\UserModel::getByLogin(['login' => $GLOBALS['login'], 'select' => ['id']]); $GLOBALS['id'] = $userInfo['id']; @@ -185,7 +199,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertNotEmpty($responseBody['ranges'][0]); $this->assertSame(self::$id, $responseBody['ranges'][0]['id']); - $this->assertSame('B01', $responseBody['ranges'][0]['registeredMailType']); + $this->assertSame('2D', $responseBody['ranges'][0]['registeredMailType']); $this->assertSame('AZPOKF30KDZP', $responseBody['ranges'][0]['trackerNumber']); $this->assertSame(1, $responseBody['ranges'][0]['rangeStart']); $this->assertSame(1000, $responseBody['ranges'][0]['rangeEnd']); @@ -221,7 +235,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertNotEmpty($responseBody['range']); $this->assertSame(self::$id, $responseBody['range']['id']); - $this->assertSame('B01', $responseBody['range']['registeredMailType']); + $this->assertSame('2D', $responseBody['range']['registeredMailType']); $this->assertSame('AZPOKF30KDZP', $responseBody['range']['trackerNumber']); $this->assertSame(1, $responseBody['range']['rangeStart']); $this->assertSame(1000, $responseBody['range']['rangeEnd']); @@ -253,7 +267,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $request = \Slim\Http\Request::createFromEnvironment($environment); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 2000, @@ -272,7 +286,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertNotEmpty($responseBody['range']); $this->assertSame(self::$id, $responseBody['range']['id']); - $this->assertSame('B01', $responseBody['range']['registeredMailType']); + $this->assertSame('2D', $responseBody['range']['registeredMailType']); $this->assertSame('AZPOKF30KDZP', $responseBody['range']['trackerNumber']); $this->assertSame(1, $responseBody['range']['rangeStart']); $this->assertSame(2000, $responseBody['range']['rangeEnd']); @@ -295,7 +309,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body registeredMailType is empty or not a string', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01' + 'registeredMailType' => '2D' ]; $fullRequest = \httpRequestCustom::addContentInBody($body, $request); @@ -305,7 +319,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body trackerNumber is empty or not a string', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', ]; $fullRequest = \httpRequestCustom::addContentInBody($body, $request); @@ -316,7 +330,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body rangeStart is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, ]; @@ -328,7 +342,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body rangeEnd is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 1000, @@ -341,7 +355,7 @@ class RegisteredNumberRangeControllerTest extends TestCase $this->assertSame('Body siteId is empty or not an integer', $responseBody['errors']); $body = [ - 'registeredMailType' => 'B01', + 'registeredMailType' => '2D', 'trackerNumber' => 'AZPOKF30KDZP', 'rangeStart' => 1, 'rangeEnd' => 1000,