Answer Question for AiChat Test ===================================================== #### notes: I use BDD Test using gherkhin language So all member squad can consume the report and test case also we can use TDD Development so we can boost the development time # Password ### Password field (UI) #### Test Scenario 1 ```gherkin Feature : Password field works Scenario: As User I want to create password using valid format Given I Already in create password page And I already fill other mandatory field When I input using valid format And I reinput password And I submit create password Then I should be able to get succes "create password notification" ``` #### Test Scenario 2 ```gherkin Feature : Password validation field works Scenario: As User I should not be able to create password using <Invalid Format> Given I Already in create password page And I already fill other mandatory field When I input using <Invalid Format> ANd I reinput using <Invalid Format> And I submit create password Then I should not be able to create password And I get notifi <Invalid Format> |Invalid Format| |weak password| |less than 10 character| |no uppercase| |no numeric | |without non-alphanumeric| |null| ``` #### Test Scenario 3 ```gherkin Feature : field re type password works Scenario: As User I should not be able to insert re-type password field using different password Given I Already in create password page And I already fill other mandatory field When I input using valid format And I reinput password using diferrent password Then shown notification "wrong type" ``` ### API (Back End) #### Test Scenario 4 ```gherkin Feature : ensure API create password works Scenario: As User I want to create password using valid format Given I Already get create password path When I Hit create password format path using valid API format Then I should be able get response "200" And Create password succes When I check password in databse Then password should already encrypted using data user and random format ``` #### Test Scenario 5 ```gherkin Feature : ensure API create password cover failed response Scenario: As User I want to create password using Invalid Api format Given I Already get create password path When I Hit create password format path using Invalid API format Then I should be able get response "400" bad request And Create password failed ``` #### Test Scenario 6 ```gherkin Feature : Password validation field works Scenario: As User I want to create password using <Invalid password format> Given I Already get create password path When I Hit create password format path using Invalid API format Then I should be able get response "400" And get <response body> And Create password failed |Invalid password Format|response body| |weak password|weak password| |less than 10 character|less than 10 character| |no uppercase|no uppercase| |no numeric |no numeric | |without non-alphanumeric|without non-alphanumeric| |null|password is null| ``` # Force Change Password (UI) #### Test Scenario 1 ```gherkin Feature : force change password works Scenario: As User I want to change password when system force me to change password Given I not yet change password until two month When I log in using old password Then shown notification instruct me to change password When I click the change password element And I Insert my username And I click button 'change password' Then system sent to me verification email And redirect to change password page When I change password using valid format And I re-type using same password And I submit the password Then I get notification change password succes And password changed ``` #### Test Scenario 2 ```gherkin Feature : validation re-type password works Scenario: As User I should not be able to input different value when re-type password Given I not yet change password until two month When I log in using old password Then shown notification instruct me to change password When I click the change password element And I Insert my username And I click button 'change password' Then system sent to me verification email And redirect to change password page When I change password using valid format And I re-type using different password And I submit the password Then I get notification change password failed ``` #### Test Scenario 3 ```gherkin Feature : password must different within one year Scenario: As User I should not be able to input different value when re-type password Given I not yet change password until two month When I log in using old password Then shown notification instruct me to change password When I click the change password element And I Insert my username And I click button 'change password' Then system sent to me verification email And redirect to change password page When I change password using same password within 1 year And I re-type using same password And I submit the password Then I get notification change password failed ``` # Force Change Password (Back End) #### Test Scenario 4 ```gherkin Feature : ensure API change password works Scenario: As User I want to change password using valid format Given I Already have expired token When I Hit create change format path using valid API format Then I should be able get response "200" And change password succes When I check password in databse Then password should already encrypted and different with previous password ``` # Locked user accounts (UI) #### Test Scenario 1 ```gherkin Feature : ensure Log in feature works Scenario: As User I should be able to log in Given I already in log in page When I input username with valid format And I input password with valid format And I submit log button Then I should be able log in ``` #### Test Scenario 2 ```gherkin Feature : ensure locked feature works Scenario: As User I should not be able to try log in with failed log in more than 10 in a row Given I already in log in page When I input username with valid format And I input password with invalid format And I submit log button Then I should not be able to lo gin When I re-try more than 10 time Then my account locked ``` # Locked user accounts (Back End) #### Test Scenario 3 ```gherkin Feature : ensure locked feature works Scenario: As User I should not be able to try log in with failed log in more than 10 in a row Given I already have log in path When I Hit endpoint with invalid format Then I got Failed response Then I should not be able to lo gin When I re-try more than 10 time Then my account locked ``` # Administrator exist at all time Notes: For this case better we use Automation API test or API Monitoiring tool #### Test Scenario 1 ```gherkin Feature : ensure Service admin Up Scenario: As User I should be able to acces admin service Given I already have Token When I Hit endpoint with valid format Then I got success response And I get respo '200' ``` # Auto-logout (UI) #### Test Scenario 1 ```gherkin Feature : ensure auto logout feature works Scenario: As User I should get forced log out after inactive more than 30 minutes Given I already log in When I inactive more than 30 minutes Then I should get forced log out by system ``` # Auto-logout (Back End) #### Test Scenario 1 ```gherkin Feature : ensure auto logout feature works Scenario: As User my token should be expired after inactive more than 30 minutes Given I already have active token When I inactive more than 30 minutes Then my token expired ``` #### Test Scenario 1 ```gherkin Feature : ensure can not log in using expired token Scenario: As user I should not be able to log in using Given I already have expired token When I Hit end point using expired t Then I should be able to get response '401' unauthorized or token expired ```