Skip to content

julpoppi/spring-rest-tests

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Worldline Technical Test

Content

Prerequisites

List of prerequisites to realize the test:

  • On your PC, you must have :
    • Maven installed (Version 3.x)
    • Git Installed (Version 2.x)
    • JAVA JDK installed (Version 8)
    • JAVA IDE installed (Eclipse / IntelliJ IDEA / …)
    • REST Client tool to make HTTP Requests
      • Chrome Extension
        • Postman - REST Client shortcut
        • Sense (Beta)
    • Lombok

Evaluation

Criterias

The aim of this evaluation is to check if you have the basic competences to integrate a Worldline FPL Digital Banking development team. To verify these competences, we will analyze the following elements:

  • Your developments
  • Your analysis
  • The way of working

To evaluate these elements, we have created the following categories:

The following sections explain what is expected.

Code

We will be attentive to the “Quality of code”

  • Complexity
  • Duplication
  • Performance
  • Readable / Maintainable
  • Reusable / Evolutivity
  • Comment

Commit

We will be attentive to the “Quality of Commit”

  • Relevant
  • Readable
  • Comment

A real Git Repository will be available to realize this evaluation. You must use this repository like in a real development project (commit/branch/comment…).

Production

The code must be Production Ready

  • Rules compliance
  • Work
  • Tested

Exercises

Exercise 1

Install and run the project on your device/PC

  1. Retrieve the GITHUB project : Fork the repository
  2. Mount the project on your development IDE (Eclipse or other …)
  3. Compile the project (Java and Maven compilation)
  4. Launch the project (Launch the Main class of project : com.worldline.fpl.recruitment.StartBoot)

Exercise 2

Understand the project and make several tests on it in the current state

  1. Understand the project (This project simulates a bank REST server)

    • SAAS project (Software as a service)
    • REST server (Representational state transfer)
    • Bank service
      • Account Management
      • Transaction Management
  2. Try to retrieve all accounts (Launch a REST request with these parameters)

    • Verb : GET
    • URL : /accounts
  3. Try to retrieve the detail of an account (Replace the YOUR_ID by your account ID)

    • Verb : GET
    • URL : /accounts/YOUR_ID
  4. Try to execute the JUnit tests in AccountTest and TransactionTest

There are any other functions that you can find in the correspondent services.

Exercise 3

Currently, it is possible to retrieve the transaction list related to an account with the application.

For the next sprint, the client wants to add new administration feature:

  • Remove a transaction

You must implement this new feature in the application and add on more tests at the future test plan.

Send a merge request.

Exercise 4

For the next sprint, the client wants to add new administration features:

  • Add a new transaction on an account
  • Update an existing transaction

You must implement those new features in the application and add on more tests at the future test plan. Moreover, make sure that the existing JUnit tests (AdminTransactionTest) are OK.

Send a merge request.

Exercise 5

For the next application version, Worldline wants to change the management of data in application. Indeed, currently the application stores the accounts and the transactions directly in the JAVA services.

This situation is no longer acceptable and the application must be refactored with a real database service.

In the evaluation case, you must implement a memory database (hsql) in the application and refactor the services.

Make sure that all the JUnit tests are OK.

Send a merge request.

Exercise 6

Currently, some services can be used by passing a pageable object in parameter.

However, this object is never used.

You have to used this object in order to sort and order the list and add more tests at the future test plan.

Send a merge request.

About

Test for new arrival

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%