Skip to content

Latest commit

ย 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 

Repository files navigation

Bank Kata (Technical Test for Skypay)

This project is my solution for the Bank Kata technical test as part of my application for the QA and Test Automation Engineer position at Skypay. The goal was to implement a simple bank account system while applying Mockist principles and acceptance testing with Cucumber.


Objectives and Constraints

This implementation adheres to the following requirements:

๐Ÿ”น Implement a class Account that conforms to the given interface

๐Ÿ”น Use Mockist approach to drive the architecture and validate interactions with dependencies.

๐Ÿ”น Simulate bank statement printing via a mocked StatementPrinter class.

๐Ÿ”น Write JUnit and Cucumber tests to validate functionality and ensure non-regression.


Technologies Used

  • Java 17
  • Spring Boot for application framework
  • Maven for dependency management
  • JUnit 5 for unit testing
  • Mockito for mocking dependencies
  • Cucumber for BDD-style acceptance testing
  • IntelliJ IDEA for development and test execution

๐Ÿ“‚ Project Structure

src/main/java/com/example/Bank/
-- BankApplication.java       # Spring Boot main application class
-- Account/Account.java       # Implements AccountService
-- Account/AccountService.java # Service interface for account operations
-- Transaction/Transaction.java # Represents a transaction
-- Printer/StatementPrinter.java # Interface for statement printing
-- Printer/StatementPrinterImpl.java # Implements statement printing logic
src/test/java/com/example/Bank/
-- AccountTest.java              # Unit tests using Mockito
-- BankAccountCucumberSteps.java # Step definitions for Cucumber tests
-- RunCucumberTest.java          # Runs acceptance tests


src/test/resources/features/
--bank_kata.feature          # define Cucumber scenarios using Gherkin syntax ,  test case requirements





Running the Tests

Run Unit Tests

mvn test

Run Acceptance Tests with Cucumber

mvn verify

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages