new licenceController, moved api handling & renaming things
This commit is contained in:
@@ -75,7 +75,7 @@ func testUserController(t *testing.T) {
|
||||
|
||||
loginEmail, loginCookie := testLoginHandler(t)
|
||||
logoutCookie := testCurrentUserHandler(t, loginEmail, loginCookie)
|
||||
testUpdateUser(t, loginEmail, loginCookie)
|
||||
testUpdateUser(t, loginCookie)
|
||||
testLogoutHandler(t, logoutCookie)
|
||||
}
|
||||
|
||||
@@ -413,7 +413,7 @@ func validateUser(assert bool, wantDBData map[string]interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
func testUpdateUser(t *testing.T, loginCookie http.Cookie) {
|
||||
|
||||
invalidCookie := http.Cookie{
|
||||
Name: "jwt",
|
||||
@@ -480,7 +480,7 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Change LicenceNumber",
|
||||
name: "Change Number",
|
||||
setupCookie: func(req *http.Request) {
|
||||
req.AddCookie(&loginCookie)
|
||||
},
|
||||
@@ -489,7 +489,7 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.FirstName = "John Updated"
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
},
|
||||
@@ -503,11 +503,11 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.FirstName = "John Updated"
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
var licenceRepo repositories.DriversLicenceInterface = &repositories.DriversLicenceRepository{}
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
var licenceRepo repositories.LicenceInterface = &repositories.LicenceRepository{}
|
||||
category, err := licenceRepo.FindCategoryByName("B")
|
||||
assert.NoError(t, err)
|
||||
u.DriversLicence.LicenceCategories = []models.LicenceCategory{category}
|
||||
u.Licence.Categories = []models.Category{category}
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
},
|
||||
@@ -521,12 +521,12 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.FirstName = "John Updated"
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
var licenceRepo repositories.DriversLicenceInterface = &repositories.DriversLicenceRepository{}
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
var licenceRepo repositories.LicenceInterface = &repositories.LicenceRepository{}
|
||||
category, err := licenceRepo.FindCategoryByName("A")
|
||||
category2, err := licenceRepo.FindCategoryByName("BE")
|
||||
assert.NoError(t, err)
|
||||
u.DriversLicence.LicenceCategories = []models.LicenceCategory{category, category2}
|
||||
u.Licence.Categories = []models.Category{category, category2}
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
},
|
||||
@@ -540,11 +540,11 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.FirstName = "John Updated"
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
var licenceRepo repositories.DriversLicenceInterface = &repositories.DriversLicenceRepository{}
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
var licenceRepo repositories.LicenceInterface = &repositories.LicenceRepository{}
|
||||
category, err := licenceRepo.FindCategoryByName("A")
|
||||
assert.NoError(t, err)
|
||||
u.DriversLicence.LicenceCategories = []models.LicenceCategory{category}
|
||||
u.Licence.Categories = []models.Category{category}
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
},
|
||||
@@ -558,8 +558,8 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.FirstName = "John Updated"
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
u.DriversLicence.LicenceCategories = []models.LicenceCategory{}
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
u.Licence.Categories = []models.Category{}
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
},
|
||||
@@ -573,7 +573,7 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.ID = 1
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
u.FirstName = "John Missing ID"
|
||||
},
|
||||
expectedStatus: http.StatusForbidden,
|
||||
@@ -590,7 +590,7 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
u.Password = ""
|
||||
u.LastName = "Doe Updated"
|
||||
u.Phone = "01738484994"
|
||||
u.DriversLicence.LicenceNumber = "B072RRE2I50"
|
||||
u.Licence.Number = "B072RRE2I50"
|
||||
u.Password = "NewPassword"
|
||||
},
|
||||
expectedStatus: http.StatusAccepted,
|
||||
@@ -713,23 +713,23 @@ func testUpdateUser(t *testing.T, loginEmail string, loginCookie http.Cookie) {
|
||||
assert.Equal(t, updatedUser.Membership.SubscriptionModelID, updatedUserFromDB.Membership.SubscriptionModelID, "Membership.SubscriptionModelID mismatch")
|
||||
assert.Equal(t, updatedUser.Membership.ParentMembershipID, updatedUserFromDB.Membership.ParentMembershipID, "Membership.ParentMembershipID mismatch")
|
||||
|
||||
if updatedUser.DriversLicence.Status == 0 {
|
||||
updatedUser.DriversLicence.Status = constants.UnverifiedStatus
|
||||
if updatedUser.Licence.Status == 0 {
|
||||
updatedUser.Licence.Status = constants.UnverifiedStatus
|
||||
}
|
||||
assert.Equal(t, updatedUser.DriversLicence.Status, updatedUserFromDB.DriversLicence.Status, "DriversLicence.Status mismatch")
|
||||
assert.Equal(t, updatedUser.DriversLicence.LicenceNumber, updatedUserFromDB.DriversLicence.LicenceNumber, "DriversLicence.LicenceNumber mismatch")
|
||||
assert.Equal(t, updatedUser.DriversLicence.IssuedDate, updatedUserFromDB.DriversLicence.IssuedDate, "DriversLicence.IssuedDate mismatch")
|
||||
assert.Equal(t, updatedUser.DriversLicence.ExpirationDate, updatedUserFromDB.DriversLicence.ExpirationDate, "DriversLicence.ExpirationDate mismatch")
|
||||
assert.Equal(t, updatedUser.DriversLicence.IssuingCountry, updatedUserFromDB.DriversLicence.IssuingCountry, "DriversLicence.IssuingCountry mismatch")
|
||||
assert.Equal(t, updatedUser.Licence.Status, updatedUserFromDB.Licence.Status, "Licence.Status mismatch")
|
||||
assert.Equal(t, updatedUser.Licence.Number, updatedUserFromDB.Licence.Number, "Licence.Number mismatch")
|
||||
assert.Equal(t, updatedUser.Licence.IssuedDate, updatedUserFromDB.Licence.IssuedDate, "Licence.IssuedDate mismatch")
|
||||
assert.Equal(t, updatedUser.Licence.ExpirationDate, updatedUserFromDB.Licence.ExpirationDate, "Licence.ExpirationDate mismatch")
|
||||
assert.Equal(t, updatedUser.Licence.IssuingCountry, updatedUserFromDB.Licence.IssuingCountry, "Licence.IssuingCountry mismatch")
|
||||
|
||||
// For slices or more complex nested structures, you might want to use deep equality checks
|
||||
assert.ElementsMatch(t, updatedUser.Consents, updatedUserFromDB.Consents, "Consents mismatch")
|
||||
if len(updatedUser.DriversLicence.LicenceCategories) > 0 {
|
||||
for i := range updatedUser.DriversLicence.LicenceCategories {
|
||||
assert.Equal(t, updatedUser.DriversLicence.LicenceCategories[i].Category, updatedUserFromDB.DriversLicence.LicenceCategories[i].Category, "LicenceCategory Category mismatch at index %d", i)
|
||||
if len(updatedUser.Licence.Categories) > 0 {
|
||||
for i := range updatedUser.Licence.Categories {
|
||||
assert.Equal(t, updatedUser.Licence.Categories[i].Name, updatedUserFromDB.Licence.Categories[i].Name, "Category Category mismatch at index %d", i)
|
||||
}
|
||||
} else {
|
||||
assert.Emptyf(t, updatedUserFromDB.DriversLicence.LicenceCategories, "Categories aren't empty when they should")
|
||||
assert.Emptyf(t, updatedUserFromDB.Licence.Categories, "Categories aren't empty when they should")
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -1094,18 +1094,18 @@ func getTestUsers() []RegisterUserTest {
|
||||
Assert: false,
|
||||
Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
||||
user.Email = "john.wronglicence.doe@example.com"
|
||||
user.DriversLicence.LicenceNumber = "AAAA12345AA"
|
||||
user.Licence.Number = "AAAA12345AA"
|
||||
return user
|
||||
})),
|
||||
},
|
||||
{
|
||||
Name: "Correct DriversLicence number, should pass",
|
||||
Name: "Correct Licence number, should pass",
|
||||
WantResponse: http.StatusCreated,
|
||||
WantDBData: map[string]interface{}{"email": "john.correctLicenceNumber@example.com"},
|
||||
Assert: true,
|
||||
Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
||||
user.Email = "john.correctLicenceNumber@example.com"
|
||||
user.DriversLicence.LicenceNumber = "B072RRE2I55"
|
||||
user.Licence.Number = "B072RRE2I55"
|
||||
return user
|
||||
})),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user