Use User model in a Lumen package
I wrote a Lumen package that make a reference to User Model.
I can't use IlluminateFoundationAuthUser
because it doesn't exists with Lumen 5.7
I've made a config file that I publish, which give a reference to the User model that exists in the app. In this case:
my-config-plugin.php
'user' => [
'table' => 'users',
'primary_key' => 'id',
'foreign_key' => 'user_id',
'model' => AppUser::class,
],
so, in all my package, I use:
config('my-config-plugin.user.model') and it resolves to AppUser::class
But my problem comes with my tests, because there is no AppUser::class
defined in my package, so all the tests fail.
So, the only solution I find is to define my tests in another Lumen project that will have a User model and will install the plugin, but I don't like very much to ave my tests in another repository. Am I missing the good way to do it?
laravel testing lumen
add a comment |
I wrote a Lumen package that make a reference to User Model.
I can't use IlluminateFoundationAuthUser
because it doesn't exists with Lumen 5.7
I've made a config file that I publish, which give a reference to the User model that exists in the app. In this case:
my-config-plugin.php
'user' => [
'table' => 'users',
'primary_key' => 'id',
'foreign_key' => 'user_id',
'model' => AppUser::class,
],
so, in all my package, I use:
config('my-config-plugin.user.model') and it resolves to AppUser::class
But my problem comes with my tests, because there is no AppUser::class
defined in my package, so all the tests fail.
So, the only solution I find is to define my tests in another Lumen project that will have a User model and will install the plugin, but I don't like very much to ave my tests in another repository. Am I missing the good way to do it?
laravel testing lumen
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00
add a comment |
I wrote a Lumen package that make a reference to User Model.
I can't use IlluminateFoundationAuthUser
because it doesn't exists with Lumen 5.7
I've made a config file that I publish, which give a reference to the User model that exists in the app. In this case:
my-config-plugin.php
'user' => [
'table' => 'users',
'primary_key' => 'id',
'foreign_key' => 'user_id',
'model' => AppUser::class,
],
so, in all my package, I use:
config('my-config-plugin.user.model') and it resolves to AppUser::class
But my problem comes with my tests, because there is no AppUser::class
defined in my package, so all the tests fail.
So, the only solution I find is to define my tests in another Lumen project that will have a User model and will install the plugin, but I don't like very much to ave my tests in another repository. Am I missing the good way to do it?
laravel testing lumen
I wrote a Lumen package that make a reference to User Model.
I can't use IlluminateFoundationAuthUser
because it doesn't exists with Lumen 5.7
I've made a config file that I publish, which give a reference to the User model that exists in the app. In this case:
my-config-plugin.php
'user' => [
'table' => 'users',
'primary_key' => 'id',
'foreign_key' => 'user_id',
'model' => AppUser::class,
],
so, in all my package, I use:
config('my-config-plugin.user.model') and it resolves to AppUser::class
But my problem comes with my tests, because there is no AppUser::class
defined in my package, so all the tests fail.
So, the only solution I find is to define my tests in another Lumen project that will have a User model and will install the plugin, but I don't like very much to ave my tests in another repository. Am I missing the good way to do it?
laravel testing lumen
laravel testing lumen
edited Jan 4 at 11:22
Juliatzin del Toro
asked Jan 2 at 14:24


Juliatzin del ToroJuliatzin del Toro
5,0861261141
5,0861261141
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00
add a comment |
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008040%2fuse-user-model-in-a-lumen-package%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008040%2fuse-user-model-in-a-lumen-package%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Would mocking this class be an option for you?
– Sven Hakvoort
Jan 9 at 8:43
Maybe, but I am afraid not to understand well, mocking is to replace existing class, so if the class doesn't exists, I don't know how to do it
– Juliatzin del Toro
Jan 9 at 17:27
Take a look at this post: stackoverflow.com/questions/28125444/… it explains how you can create a fake representation of a non existing class by defining the methods on it, and after that using the normal mock workflow to let these methods always return the value you want for testing
– Sven Hakvoort
Jan 10 at 8:00