Creating a test database repository

This commit is contained in:
2024-07-12 22:43:16 +02:00
parent 32250d92c4
commit 1c46c5a64b
4 changed files with 57 additions and 1 deletions

View File

@ -11,9 +11,20 @@ type postgresDBRepo struct {
DB *sql.DB
}
type testDBRepo struct {
App *config.AppConfig
DB *sql.DB
}
func NewPostgresRepo(conn *sql.DB, a *config.AppConfig) repository.DatabaseRepo {
return &postgresDBRepo{
App: a,
DB: conn,
}
}
func NewTestingRepo(a *config.AppConfig) repository.DatabaseRepo {
return &testDBRepo{
App: a,
}
}

View File

@ -0,0 +1,37 @@
package dbrepo
import (
"go-udemy-web-1/internal/models"
"time"
)
func (m *testDBRepo) AllUsers() bool {
return true
}
// InsertReservation inserts a reservation into the database
func (m *testDBRepo) InsertReservation(res models.Reservation) (int, error) {
return 1, nil
}
// InsertRoomRestriction inserts a room restriction into the database
func (m *testDBRepo) InsertRoomRestriction(r models.RoomRestriction) error {
return nil
}
// SearchAvailabilityByDatesByRoomID returns true if availability exists for roomID, and false if no availability
func (m *testDBRepo) SearchAvailabilityByDatesByRoomID(start, end time.Time, roomID int) (bool, error) {
return false, nil
}
// SearchAvailabilityForAllRooms returns a slice of rooms, if any, for given date range
func (m *testDBRepo) SearchAvailabilityForAllRooms(start, end time.Time) ([]models.Room, error) {
var rooms []models.Room
return rooms, nil
}
// GetRoomById gets a room by id
func (m *testDBRepo) GetRoomById(id int) (models.Room, error) {
var room models.Room
return room, nil
}