diff --git a/src/components/UserAuthComponents/RegisterForm.vue b/src/components/UserAuthComponents/RegisterForm.vue index da8011bdce8f479730d0e8e16b082a09842243ba..d91f5bdfb3aa61ce6a2ea630c1bb24849c90fefd 100644 --- a/src/components/UserAuthComponents/RegisterForm.vue +++ b/src/components/UserAuthComponents/RegisterForm.vue @@ -25,14 +25,13 @@ v-for="(error, index) of v$.email.$errors" :key="index" > - <div - class="text-error-medium text-sm" - v-show="showError" - id="emailErrorId" - > + <div class="text-error-medium text-sm" v-show="showError"> {{ error.$message }} </div> </div> + <div class="text-error-medium text-sm" v-show="errorMessage"> + {{ errorMessage }} + </div> </div> <div> @@ -166,7 +165,7 @@ <script> import useVuelidate from "@vuelidate/core"; -import { doLogin, registerUser } from "@/utils/apiutil"; +import { doLogin } from "@/utils/apiutil"; import { required, email, @@ -246,10 +245,7 @@ export default { //If a user is created succsessfully, try to login //If we get this far, we will be pushed anyway so there is no point updating "loading" - if (!userCreated) { - this.errorMessage = "Could not create user."; - return; - } + if (!userCreated) return; const loginRequest = { email: this.email, @@ -270,17 +266,16 @@ export default { await this.$router.push("/"); }, async sendRegisterRequest() { - const registerInfo = { + const userInfo = { email: this.email, firstName: this.firstName, - lastname: this.lastName, + lastName: this.lastName, password: this.password, address: this.address, }; - - const response = await registerUser(registerInfo); - - return response.status === 200; + const res = await UserService.registerUser(userInfo); + this.errorMessage = res; + return res.status === 200; }, }, }; diff --git a/src/services/user.service.js b/src/services/user.service.js index b6d908ba08d23bbfc32c6229ff1c093229c57a39..1639127d4706c607415316a00f95829f00e3eef5 100644 --- a/src/services/user.service.js +++ b/src/services/user.service.js @@ -124,5 +124,19 @@ class UserService { }) .catch((err) => console.log(err)); } + + async registerUser(userInfo) { + return await axios + .post(API_URL + "register", userInfo) + .then((res) => { + return res; + }) + .catch((err) => { + if (err.response) { + return err.response.data; + } + console.error(err); + }); + } } export default new UserService(); diff --git a/src/utils/apiutil.js b/src/utils/apiutil.js index 7b42b8219865c3b58a02716b8326923f1946e09d..74e9b481338da2f22eda07ebb48bdc0137b5c23c 100644 --- a/src/utils/apiutil.js +++ b/src/utils/apiutil.js @@ -18,21 +18,6 @@ export function doLogin(loginRequest) { }); } -export function registerUser(registerInfo) { - return axios - .post(API_URL + "register", { - email: registerInfo.email, - firstName: registerInfo.firstName, - lastName: registerInfo.lastname, - password: registerInfo.password, - address: registerInfo.address, - }) - .then((response) => { - return response; - }) - .catch((err) => console.error(err)); -} - export async function getUser(userid) { return axios .get(API_URL + "users/" + userid + "/profile", { diff --git a/tests/unit/component-tests/user-component-tests/__snapshots__/register-user-component.spec.js.snap b/tests/unit/component-tests/user-component-tests/__snapshots__/register-user-component.spec.js.snap index 193cbfa3c50d17fb2f50c439c23fe6b0031c3d33..4528659ba8dc6ec84a04c67327896759074d5ae7 100644 --- a/tests/unit/component-tests/user-component-tests/__snapshots__/register-user-component.spec.js.snap +++ b/tests/unit/component-tests/user-component-tests/__snapshots__/register-user-component.spec.js.snap @@ -24,6 +24,10 @@ exports[`RegisterFormComponent renders correctly 1`] = ` <!-- error message --> + <div + class="text-error-medium text-sm" + style="display: none;" + /> </div> <div> <input