Hi All, we are writing test cases for “GetListOfUsers()” function of “UserService.go“ file. We are facing issue in creating dummy aerospike.RecordSet object
func (suite *UserServiceTestSuite) TestGetListOfUsers() {
suite.mockUserRepository.EXPECT().QueryDataEquality(models.UserSet, "t_id", “test_team”).Return(Dummy_RecordSet_Object, nil)
// how we can create dummy aerospike.RecordSet object ?
userList, err := suite.userService.GetListOfUsers(suite.context, “test_team”)
// suite.Error(err)
}
================ UsersRepository.go ———————
func (a *aerospike) QueryDataEquality(setName, binName, binData string) (*aero.Recordset, error) {
stm := aero.NewStatement(a.Namespace, setName)
err := stm.SetFilter(aero.NewEqualFilter(binName, binData))
if err != nil {
return nil, err
}
recordset, err := a.client.Query(nil, stm)
if err != nil {
return nil, err
}
return recordset, nil
}
================ UserService.go file ————————
func (us usersService) GetListOfUsers(ctx *gin.Context, teamId string) ([]models.Users, error) {
var listOfUsers []models.Users
records, err := us.aeroClient.QueryDataEquality(models.UserSet, "t_id", teamId)
if err != nil {
return nil, err
}
for res := range records.Results() {
if res.Err != nil {
return nil, res.Err
} else {
jsonStr, err := json.Marshal(res.Record.Bins)
if err != nil {
return nil, err
}
var tempUser models.Users
if err := json.Unmarshal(jsonStr, &tempUser); err != nil {
continue
}
listOfUsers = append(listOfUsers, tempUser)
}
}
return listOfUsers, nil
}