# Przykładowy kod źródłowy systemu rezerwacji dla restauracji

To jest przykładowy kod, dołączony do książki *Kod, który mieści się w Twojej głowie.* Jest to API REST-owe, implementujące system rezerwacji dla restauracji.

## Praca z kodem

Zadania związane z rozwojem systemu należy wykonywać w obrębie rozwiązania *Restaurant* w programie Visual Studio. To rozwiązanie zawiera tylko kod produkcyjny oraz (szybkie) testy jednostkowe. Ten kod można rozwijać w metodologii programowania sterowanego testami, ponieważ czas wykonywania testów jest akceptowalny, nawet przy użyciu mechanizmu testów programu Visual Studio.

## Budowanie

Rozwiązanie *Build* zawiera dodatkowe testy, które są uruchamiane z użyciem zautomatyzowanej bazy danych. To rozwiązanie jest też używane przez skrypt `build.sh`.

Testy integracyjne z tego rozwiązania wymagają dłuższego czasu wykonywania, a zatem tego rozwiązania nie należy używać podczas codziennej pracy. Z drugiej strony, warto wczytać to rozwiązanie w przypadku zadania wymagającego refaktoryzacji intefejsu między kodem a bazą danych. Warto z niego skorzystać również jeśli trzeba dodać nowe testy integracyjne.

Testy integracyjne korzystające z bazy danych automatycznie tworzą i usuwają bazę danych SQL Server dla każdego przypadku testowego. Nie musisz niczego konfigurować, ale na komputerze powinien być zainstalowany program SQL Server Express.