Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
abneed committed Jul 30, 2022
1 parent b20e39f commit 950a6e9
Show file tree
Hide file tree
Showing 6 changed files with 188 additions and 73 deletions.
49 changes: 27 additions & 22 deletions internal/handlers/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ func (m *Repository) Reservation(w http.ResponseWriter, r *http.Request) {
res, ok := m.App.Session.Get(r.Context(), "reservation").(models.Reservation)
if !ok {
m.App.Session.Put(r.Context(), "error", "can't get reservation from session")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

room, err := m.DB.GetRoomById(res.RoomID)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't find room!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand Down Expand Up @@ -104,7 +104,7 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse form!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -117,21 +117,28 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
startDate, err := time.Parse(layout, sd)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse start date")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

endDate, err := time.Parse(layout, ed)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse end date")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

roomID, err := strconv.Atoi(r.Form.Get("room_id"))
if err != nil {
m.App.Session.Put(r.Context(), "error", "invalid data!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

room, err := m.DB.GetRoomById(roomID)
if err != nil {
m.App.Session.Put(r.Context(), "error", "invalid data!")
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -143,6 +150,7 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
StartDate: startDate,
EndDate: endDate,
RoomID: roomID,
Room: room,
}

form := forms.New(r.PostForm)
Expand All @@ -154,7 +162,6 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
if !form.Valid() {
data := make(map[string]interface{})
data["reservation"] = reservation
http.Error(w, "my own message", http.StatusSeeOther)
render.Template(w, r, "make-reservation.page.html", &models.TemplateData{
Form: form,
Data: data,
Expand All @@ -165,7 +172,7 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
newReservationID, err := m.DB.InsertReservation(reservation)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't insert reservation into database!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -180,7 +187,7 @@ func (m *Repository) PostReservation(w http.ResponseWriter, r *http.Request) {
err = m.DB.InsertRoomRestriction(restriction)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't insert room restriction!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand Down Expand Up @@ -241,7 +248,7 @@ func (m *Repository) PostAvailability(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse form!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -252,20 +259,20 @@ func (m *Repository) PostAvailability(w http.ResponseWriter, r *http.Request) {
startDate, err := time.Parse(layout, start)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse start date!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}
endDate, err := time.Parse(layout, end)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse end date!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

rooms, err := m.DB.SearchAvailabilityForAllRooms(startDate, endDate)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't get availability for rooms")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand Down Expand Up @@ -388,7 +395,7 @@ func (m *Repository) ReservationSummary(w http.ResponseWriter, r *http.Request)
reservation, ok := m.App.Session.Get(r.Context(), "reservation").(models.Reservation)
if !ok {
m.App.Session.Put(r.Context(), "error", "Can't get reservation from session")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand Down Expand Up @@ -416,7 +423,7 @@ func (m *Repository) ChooseRoom(w http.ResponseWriter, r *http.Request) {
//if err != nil {
// log.Println(err)
// m.App.Session.Put(r.Context(), "error", "missing url parameter")
// http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
// http.Redirect(w, r, "/", http.StatusSeeOther)
// return
//}

Expand All @@ -426,14 +433,14 @@ func (m *Repository) ChooseRoom(w http.ResponseWriter, r *http.Request) {
roomID, err := strconv.Atoi(exploded[2])
if err != nil {
m.App.Session.Put(r.Context(), "error", "missing url parameter")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

res, ok := m.App.Session.Get(r.Context(), "reservation").(models.Reservation)
if !ok {
m.App.Session.Put(r.Context(), "error", "Can't get reservation from session")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -454,13 +461,13 @@ func (m *Repository) BookRoom(w http.ResponseWriter, r *http.Request) {
startDate, err := time.Parse(layout, sd)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse start date!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}
endDate, err := time.Parse(layout, ed)
if err != nil {
m.App.Session.Put(r.Context(), "error", "can't parse end date!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand All @@ -469,7 +476,7 @@ func (m *Repository) BookRoom(w http.ResponseWriter, r *http.Request) {
room, err := m.DB.GetRoomById(roomID)
if err != nil {
m.App.Session.Put(r.Context(), "error", "Can't get room from db!")
http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
http.Redirect(w, r, "/", http.StatusSeeOther)
return
}

Expand Down Expand Up @@ -515,8 +522,6 @@ func (m *Repository) PostShowLogin(w http.ResponseWriter, r *http.Request) {

id, _, err := m.DB.Authenticate(email, password)
if err != nil {
log.Println(err)

m.App.Session.Put(r.Context(), "error", "Invalid login credentials")
http.Redirect(w, r, "/user/login", http.StatusSeeOther)
return
Expand Down
Loading

0 comments on commit 950a6e9

Please sign in to comment.