Skip to content

rwardle/auction-sniper-java

Repository files navigation

Auction Sniper

The worked example from Growing Object-Oriented Software Guided by Tests implemented in Java with acceptance tests written in Kotlin.

Prerequisites

  • JDK 8.
  • Docker.
  • Docker Compose.

Build

This project configures a local build environment based on Docker using Batect.

To see a list of all tasks in the project run: ./batect --list-tasks.

Documentation

Architecture Decision Records capture the important architectural decisions made in the project along with their context and consequences.

Acceptance tests

Acceptance tests are written as BDD scenarios using Serenity and the Screenplay pattern. They can be run end-to-end against the GUI or can be run directly against the domain model.

Openfire

Communication between the participants in the auction is via an Openfire server. A Docker Compose file is provided for running an Openfire docker image.

To start the Openfire server run: docker-compose up.

Run

To start the application run: ./gradlew run --args="localhost sniper sniper".

This command starts the application and connects to an Openfire server running on localhost, connecting as the sniper user preconfigured in the Openfire Docker image.

About

Worked example from Growing Object-Oriented Software Guided by Tests

Resources

Stars

Watchers

Forks

Contributors