tests
This commit is contained in:
@@ -148,18 +148,16 @@ func (dt *DeleteSubscriptionTest) ValidateResult() error {
|
|||||||
return validateSubscription(dt.Assert, dt.WantDBData)
|
return validateSubscription(dt.Assert, dt.WantDBData)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getBaseSubscription() MembershipData {
|
func getBaseSubscription() models.SubscriptionModel {
|
||||||
return MembershipData{
|
return models.SubscriptionModel{
|
||||||
// APIKey: config.Auth.APIKEY,
|
|
||||||
Subscription: models.SubscriptionModel{
|
|
||||||
Name: "Premium",
|
Name: "Premium",
|
||||||
Details: "A subscription detail",
|
Details: "A subscription detail",
|
||||||
MonthlyFee: 12.0,
|
MonthlyFee: 12.0,
|
||||||
HourlyRate: 14.0,
|
HourlyRate: 14.0,
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func customizeSubscription(customize func(MembershipData) MembershipData) MembershipData {
|
|
||||||
|
func customizeSubscription(customize func(models.SubscriptionModel) models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription := getBaseSubscription()
|
subscription := getBaseSubscription()
|
||||||
return customize(subscription)
|
return customize(subscription)
|
||||||
}
|
}
|
||||||
@@ -175,8 +173,8 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Just a Subscription"},
|
WantDBData: map[string]interface{}{"name": "Just a Subscription"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Details = ""
|
subscription.Details = ""
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -189,8 +187,8 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": ""},
|
WantDBData: map[string]interface{}{"name": ""},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = ""
|
subscription.Name = ""
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -202,8 +200,8 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantResponse: http.StatusBadRequest,
|
WantResponse: http.StatusBadRequest,
|
||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(customizeSubscription(func(sub MembershipData) MembershipData {
|
Input: GenerateInputJSON(customizeSubscription(func(sub models.SubscriptionModel) models.SubscriptionModel {
|
||||||
sub.Subscription.MonthlyFee = -10.0
|
sub.MonthlyFee = -10.0
|
||||||
return sub
|
return sub
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -215,8 +213,8 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantResponse: http.StatusBadRequest,
|
WantResponse: http.StatusBadRequest,
|
||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(customizeSubscription(func(sub MembershipData) MembershipData {
|
Input: GenerateInputJSON(customizeSubscription(func(sub models.SubscriptionModel) models.SubscriptionModel {
|
||||||
sub.Subscription.HourlyRate = -1.0
|
sub.HourlyRate = -1.0
|
||||||
return sub
|
return sub
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -229,10 +227,10 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Conditions = "Some Condition"
|
subscription.Conditions = "Some Condition"
|
||||||
subscription.Subscription.IncludedPerYear = 0
|
subscription.IncludedPerYear = 0
|
||||||
subscription.Subscription.IncludedPerMonth = 1
|
subscription.IncludedPerMonth = 1
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -245,10 +243,10 @@ func getSubscriptionRegistrationData() []RegisterSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Conditions = "Some Condition"
|
subscription.Conditions = "Some Condition"
|
||||||
subscription.Subscription.IncludedPerYear = 0
|
subscription.IncludedPerYear = 0
|
||||||
subscription.Subscription.IncludedPerMonth = 1
|
subscription.IncludedPerMonth = 1
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -276,8 +274,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "monthly_fee": "12"},
|
WantDBData: map[string]interface{}{"name": "Premium", "monthly_fee": "12"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.MonthlyFee = 123.0
|
subscription.MonthlyFee = 123.0
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -290,8 +288,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.ID = 0
|
subscription.ID = 0
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -304,8 +302,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "hourly_rate": "14"},
|
WantDBData: map[string]interface{}{"name": "Premium", "hourly_rate": "14"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.HourlyRate = 3254.0
|
subscription.HourlyRate = 3254.0
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -318,8 +316,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "included_per_year": "0"},
|
WantDBData: map[string]interface{}{"name": "Premium", "included_per_year": "0"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.IncludedPerYear = 9873.0
|
subscription.IncludedPerYear = 9873.0
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -332,8 +330,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "included_per_month": "1"},
|
WantDBData: map[string]interface{}{"name": "Premium", "included_per_month": "1"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.IncludedPerMonth = 23415.0
|
subscription.IncludedPerMonth = 23415.0
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -346,8 +344,8 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "NonExistentSubscription"},
|
WantDBData: map[string]interface{}{"name": "NonExistentSubscription"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = "NonExistentSubscription"
|
subscription.Name = "NonExistentSubscription"
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -360,11 +358,11 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "details": "Altered Details"},
|
WantDBData: map[string]interface{}{"name": "Premium", "details": "Altered Details"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Details = "Altered Details"
|
subscription.Details = "Altered Details"
|
||||||
subscription.Subscription.Conditions = "Some Condition"
|
subscription.Conditions = "Some Condition"
|
||||||
subscription.Subscription.IncludedPerYear = 0
|
subscription.IncludedPerYear = 0
|
||||||
subscription.Subscription.IncludedPerMonth = 1
|
subscription.IncludedPerMonth = 1
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -377,11 +375,11 @@ func getSubscriptionUpdateData() []UpdateSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium", "details": "Altered Details"},
|
WantDBData: map[string]interface{}{"name": "Premium", "details": "Altered Details"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Details = "Altered Details"
|
subscription.Details = "Altered Details"
|
||||||
subscription.Subscription.Conditions = "Some Condition"
|
subscription.Conditions = "Some Condition"
|
||||||
subscription.Subscription.IncludedPerYear = 0
|
subscription.IncludedPerYear = 0
|
||||||
subscription.Subscription.IncludedPerMonth = 1
|
subscription.IncludedPerMonth = 1
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -404,9 +402,10 @@ func getSubscriptionDeleteData() []DeleteSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "NonExistentSubscription"},
|
WantDBData: map[string]interface{}{"name": "NonExistentSubscription"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = "NonExistentSubscription"
|
subscription.Name = "NonExistentSubscription"
|
||||||
subscription.Subscription.ID = basicSub.ID
|
subscription.ID = basicSub.ID
|
||||||
|
logger.Error.Printf("subscription to delete: %#v", subscription)
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -415,13 +414,13 @@ func getSubscriptionDeleteData() []DeleteSubscriptionTest {
|
|||||||
req.AddCookie(AdminCookie)
|
req.AddCookie(AdminCookie)
|
||||||
},
|
},
|
||||||
Name: "Delete subscription without name should fail",
|
Name: "Delete subscription without name should fail",
|
||||||
WantResponse: http.StatusExpectationFailed,
|
WantResponse: http.StatusBadRequest,
|
||||||
WantDBData: map[string]interface{}{"name": ""},
|
WantDBData: map[string]interface{}{"name": ""},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = ""
|
subscription.Name = ""
|
||||||
subscription.Subscription.ID = basicSub.ID
|
subscription.ID = basicSub.ID
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -434,9 +433,9 @@ func getSubscriptionDeleteData() []DeleteSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Basic"},
|
WantDBData: map[string]interface{}{"name": "Basic"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = "Basic"
|
subscription.Name = "Basic"
|
||||||
subscription.Subscription.ID = basicSub.ID
|
subscription.ID = basicSub.ID
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -449,9 +448,9 @@ func getSubscriptionDeleteData() []DeleteSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: true,
|
Assert: true,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = "Premium"
|
subscription.Name = "Premium"
|
||||||
subscription.Subscription.ID = premiumSub.ID
|
subscription.ID = premiumSub.ID
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
@@ -464,9 +463,9 @@ func getSubscriptionDeleteData() []DeleteSubscriptionTest {
|
|||||||
WantDBData: map[string]interface{}{"name": "Premium"},
|
WantDBData: map[string]interface{}{"name": "Premium"},
|
||||||
Assert: false,
|
Assert: false,
|
||||||
Input: GenerateInputJSON(
|
Input: GenerateInputJSON(
|
||||||
customizeSubscription(func(subscription MembershipData) MembershipData {
|
customizeSubscription(func(subscription models.SubscriptionModel) models.SubscriptionModel {
|
||||||
subscription.Subscription.Name = "Premium"
|
subscription.Name = "Premium"
|
||||||
subscription.Subscription.ID = premiumSub.ID
|
subscription.ID = premiumSub.ID
|
||||||
return subscription
|
return subscription
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -245,12 +245,12 @@ func testLoginHandler(t *testing.T) string {
|
|||||||
if cookie.Name == "jwt" {
|
if cookie.Name == "jwt" {
|
||||||
MemberCookie = cookie
|
MemberCookie = cookie
|
||||||
|
|
||||||
// tokenString := loginCookie.Value
|
tokenString := cookie.Value
|
||||||
// _, claims, err := middlewares.ExtractContentFrom(tokenString)
|
_, claims, err := middlewares.ExtractContentFrom(tokenString)
|
||||||
// assert.NoError(t, err, "FAiled getting cookie string")
|
assert.NoError(t, err, "FAiled getting cookie string")
|
||||||
// jwtUserID := uint((*claims)["user_id"].(float64))
|
jwtUserID := uint((*claims)["user_id"].(float64))
|
||||||
// user, err := Uc.Service.GetUserByID(jwtUserID)
|
_, err = Uc.Service.FromID(&jwtUserID)
|
||||||
// assert.NoError(t, err, "FAiled getting cookie string")
|
assert.NoError(t, err, "FAiled getting cookie string")
|
||||||
|
|
||||||
// logger.Error.Printf("cookie user: %#v", user)
|
// logger.Error.Printf("cookie user: %#v", user)
|
||||||
err = json.Unmarshal([]byte(tt.input), &loginInput)
|
err = json.Unmarshal([]byte(tt.input), &loginInput)
|
||||||
@@ -1254,35 +1254,35 @@ func getTestUsers() []RegisterUserTest {
|
|||||||
// return user
|
// return user
|
||||||
// })),
|
// })),
|
||||||
// },
|
// },
|
||||||
// {
|
{
|
||||||
// Name: "empty driverslicence number, should fail",
|
Name: "empty driverslicence number, should fail",
|
||||||
// WantResponse: http.StatusBadRequest,
|
WantResponse: http.StatusBadRequest,
|
||||||
// WantDBData: map[string]interface{}{"email": "john.wronglicence.doe@example.com"},
|
WantDBData: map[string]interface{}{"email": "john.wronglicence.doe@example.com"},
|
||||||
// Assert: false,
|
Assert: false,
|
||||||
// Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
||||||
// user.Email = "john.wronglicence.doe@example.com"
|
user.Email = "john.wronglicence.doe@example.com"
|
||||||
// user.Licence = &models.Licence{
|
user.Licence = &models.Licence{
|
||||||
// Number: "",
|
Number: "",
|
||||||
// ExpirationDate: time.Now().AddDate(1, 0, 0),
|
ExpirationDate: time.Now().AddDate(1, 0, 0),
|
||||||
// IssuedDate: time.Now().AddDate(-1, 0, 0),
|
IssuedDate: time.Now().AddDate(-1, 0, 0),
|
||||||
// }
|
}
|
||||||
// return user
|
return user
|
||||||
// })),
|
})),
|
||||||
// },
|
},
|
||||||
// {
|
{
|
||||||
// Name: "Correct Licence number, should pass",
|
Name: "Correct Licence number, should pass",
|
||||||
// WantResponse: http.StatusCreated,
|
WantResponse: http.StatusCreated,
|
||||||
// WantDBData: map[string]interface{}{"email": "john.correctLicenceNumber@example.com"},
|
WantDBData: map[string]interface{}{"email": "john.correctLicenceNumber@example.com"},
|
||||||
// Assert: true,
|
Assert: true,
|
||||||
// Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
Input: GenerateInputJSON(customizeInput(func(user models.User) models.User {
|
||||||
// user.Email = "john.correctLicenceNumber@example.com"
|
user.Email = "john.correctLicenceNumber@example.com"
|
||||||
// user.Licence = &models.Licence{
|
user.Licence = &models.Licence{
|
||||||
// Number: "B072RRE2I55",
|
Number: "B072RRE2I55",
|
||||||
// ExpirationDate: time.Now().AddDate(1, 0, 0),
|
ExpirationDate: time.Now().AddDate(1, 0, 0),
|
||||||
// IssuedDate: time.Now().AddDate(-1, 0, 0),
|
IssuedDate: time.Now().AddDate(-1, 0, 0),
|
||||||
// }
|
}
|
||||||
// return user
|
return user
|
||||||
// })),
|
})),
|
||||||
// },
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user