Api >

Service Portal REST API

PUT updates Customer's basic data as Admin
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as ADMIN
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": "new customer name"
  }, {
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }, {
    "name": "supportPin",
    "value": "ABCD1234"
  }]
}
Then I should receive HTTP/1.1 204 No Content

Given I am authenticated as ADMIN
When I send /api/customers/K0002/basic-data
Then I should receive HTTP/1.1 200 OK
with following body:
{
  "href": "/api/customers/K0002/basic-data",
  "links": [],
  "data": [{
    "name": "name",
    "value": "new customer name"
  }, {
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }, {
    "name": "supportPin",
    "value": "ABCD1234"
  }]
}
PUT updates Customer's basic data as Operator
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }, {
    "name": "supportPin",
    "value": "ABCD1234"
  }]
}
Then I should receive HTTP/1.1 204 No Content

Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
Then I should receive HTTP/1.1 200 OK
with following body:
{
  "href": "/api/customers/K0002/basic-data",
  "links": [],
  "data": [{
    "name": "name",
    "value": "customer name"
  }, {
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }, {
    "name": "email",
    "value": null
  }, {
    "name": "mobileNumber",
    "value": "+49 (89) 012345678"
  }, {
    "name": "supportPin",
    "value": "ABCD1234"
  }, {
    "name": "password",
    "value": "***"
  }, {
    "name": "securityQuestion",
    "value": "question"
  }, {
    "name": "securityAnswer",
    "value": "answer"
  }]
}
PUT updates Customer's name as Operator
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": "new customer name"
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "name",
    "value": "new customer name"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
PUT updates Customer's basic data as System Integrator
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "mobileNumber",
    "value": "+49 (8888) 9999999"
  }]
}
Then I should receive HTTP/1.1 204 No Content

Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
Then I should receive HTTP/1.1 200 OK
with following body:
{
  "href": "/api/customers/K0002/basic-data",
  "links": [],
  "data": [{
    "name": "name",
    "value": "customer name"
  }, {
    "name": "snomTransfer",
    "value": "OFF"
  }, {
    "name": "category",
    "value": "B"
  }, {
    "name": "customCrAnn",
    "value": true
  }, {
    "name": "maxExtensionsCount",
    "value": 12
  }, {
    "name": "maxeFaxCount",
    "value": 4
  }, {
    "name": "email",
    "value": null
  }, {
    "name": "mobileNumber",
    "value": "+49 (8888) 9999999"
  }, {
    "name": "supportPin",
    "value": "BS0WR9Y7"
  }, {
    "name": "password",
    "value": "***"
  }, {
    "name": "securityQuestion",
    "value": "question"
  }, {
    "name": "securityAnswer",
    "value": "answer"
  }]
}
PUT updates Customer's name as System Integrator
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": "new customer name"
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "name",
    "value": "new customer name"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
PUT updates Customer's basic data as Customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "snomTransfer",
    "value": "ON"
  }, {
    "name": "customCrAnn",
    "value": false
  }]
}
Then I should receive HTTP/1.1 204 No Content

Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
Then I should receive HTTP/1.1 200 OK
with following body:
{
  "href": "/api/customers/K0002/basic-data",
  "links": [],
  "data": [{
    "name": "externalIdentifier",
    "value": "K0002"
  }, {
    "name": "name",
    "value": "customer name"
  }, {
    "name": "snomTransfer",
    "value": "ON"
  }, {
    "name": "customCrAnn",
    "value": false
  }, {
    "name": "email",
    "value": null
  }, {
    "name": "mobileNumber",
    "value": "+49 (89) 012345678"
  }, {
    "name": "supportPin",
    "value": "BS0WR9Y7"
  }, {
    "name": "password",
    "value": "***"
  }, {
    "name": "securityQuestion",
    "value": "question"
  }, {
    "name": "securityAnswer",
    "value": "answer"
  }]
}
PUT updates Customer's name as Customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": "new customer name"
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "name",
    "value": "new customer name"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
PUT does not update password without setting current password as Customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "lAzN$s09aXxA"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
PUT does not update password when password is shorter than 8 characters
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "A1z$"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
PUT does not update password when password does not contain a lower case letter
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "LAZN$S09AXXA"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
PUT does not update password when password does not contain a capital letter
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "lazn$s09axxa"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
PUT does not update password when password does not contain a number
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "lAzN$sAAaXxA"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
PUT does not update password when password does not contain a valid special character
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "password",
    "value": "lAzNSsAAaXxA"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
Update category of a customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": "B"
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "category",
    "value": "B"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update category of a customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": "B"
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update category of a customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": "B"
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update category of a customer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": "B"
  }, {
    "name": "maxExtensionsCount",
    "value": 15
  }, {
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with positive Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": 15
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxExtensionsCount",
    "value": "15"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with positive Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": 15
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxExtensionsCount",
    "value": "15"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with positive Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": 15
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with positive Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": 15
  }]
}
Then I should receive HTTP/1.1 204 No Content
Cannot update Customer's basic data with empty name
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": ""
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be empty",
    "path": "name",
    "value": ""
  }]
}
Cannot update Customer's basic data with NULL name
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "name",
    "value": null
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be empty",
    "path": "name",
    "value": null
  }]
}
Cannot update Customer's basic data with NULL Snom Transfer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "snomTransfer",
    "value": null
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be null",
    "path": "snomTransfer",
    "value": null
  }]
}
Cannot update Customer's basic data with INVALID Snom Transfer
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "snomTransfer",
    "value": "INVALID"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Unknown enum value. Allowed values: [ON, OFF, MIXED]",
    "path": "snomTransfer",
    "value": "INVALID"
  }]
}
Cannot update Customer's basic data with NULL Announcement before conference entry (customCrAnn)
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "customCrAnn",
    "value": null
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be null",
    "path": "customCrAnn",
    "value": null
  }]
}
Cannot update Customer's basic data with NULL Category
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": null
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be null",
    "path": "category",
    "value": null
  }]
}
Cannot update Customer's basic data with INVALID Category
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "category",
    "value": "INVALID"
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Unknown enum value. Allowed values: [A, B, C, D]",
    "path": "category",
    "value": "INVALID"
  }]
}
Update Customer's basic data with negative Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": -90
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be negative",
    "path": "maxExtensionsCount",
    "value": -90
  }]
}
Update Customer's basic data with negative Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": -90
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be negative",
    "path": "maxExtensionsCount",
    "value": -90
  }]
}
Update Customer's basic data with NULL Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxExtensionsCount",
    "value": "null"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with NULL Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxExtensionsCount",
    "value": "null"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with NULL Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with NULL Maximum Extension Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxExtensionsCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with positive Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxeFaxCount",
    "value": "5"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with positive Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxeFaxCount",
    "value": "5"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with positive Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with positive Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": 5
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with negative Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": -90
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be negative",
    "path": "maxeFaxCount",
    "value": -90
  }]
}
Update Customer's basic data with negative Maximum Efax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": -90
  }]
}
Then I should receive HTTP/1.1 400 Bad Request
with body:
{
  "errors": [{
    "message": "Value cannot be negative",
    "path": "maxeFaxCount",
    "value": -90
  }]
}
Update Customer's basic data with NULL Maximum eFax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxeFaxCount",
    "value": "null"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with NULL Maximum eFax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 403 Forbidden
with body:
{
  "title": "Access forbidden",
  "detail": "Cannot update field with current privileges",
  "errors": [{
    "message": "Cannot update field with current privileges",
    "path": "maxeFaxCount",
    "value": "null"
  }],
  "described_by": "http://api.nfon.net/probs/invalid-authorization"
}
Update Customer's basic data with NULL Maximum eFax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 204 No Content
Update Customer's basic data with NULL Maximum eFax Count
Test setup
Given there is a Customer with ID K0002 with:
  • name set to customer name
  • crAnn set to false
  • contract duration in months set to 9
  • commission non recurring to 5.8000
  • maximum number of extensions 12
  • maximum number of eFax devices 4
  • primary contact +49 (89) 012345678
  • support pin set to BS0WR9Y7
Given I am authenticated as admin
When I send /api/customers/K0002/basic-data
with application/json; charset=UTF-8 and following body:
{
  "data": [{
    "name": "maxeFaxCount",
    "value": null
  }]
}
Then I should receive HTTP/1.1 204 No Content