Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Track 7/9] User query #25

Open
taki-tiler-server bot opened this issue Jan 23, 2024 · 6 comments
Open

[Track 7/9] User query #25

taki-tiler-server bot opened this issue Jan 23, 2024 · 6 comments

Comments

@taki-tiler-server
Copy link

Step 1/3 - The query

Estimated time: 2 hours

This is the first query you're going to implement on the project. After logging in and creating user, now it's time to provide a query for fetching a user information. Some details:

  1. Query Name: user
  2. Parameter: a user id
  3. It's authenticated
  4. Response: a user type, that you already have by now.

Unlike the previous tracks, now you're going to write the query prototype and integrate with the database already.

NOTE: don't forget to predict error cases. In this query, the most obvious one is passing an id that is not found on database.

@gbmoura0606
Copy link
Contributor

Finish

Copy link
Author

Step 2/3 - The tests

Estimated time: 2 hour

Now it's time to test your query and all its possible scenarios.

Write tests to verify it's working. Again: try to make independent tests, setting up your database before each one according to what you want to test.

@gbmoura0606
Copy link
Contributor

Finish

Copy link
Author

Step 3/3 - Challenge: seed

Estimated time: 3 hours

[Spoiler alert]: your next track is about writing a query to list users. But in order to do that, you should have users on database (and a lot of them), right? Well, you could use your recently implemented mutation createUser to add them. However, this challenge is about presenting you a more efficient method, while you can learn something new: database seed.

The idea is to write some code to populate your database, creating an environment to facilitate your users (list) query develop. Follow the steps:

  1. Create a new script on package.json and name it seeds. Leave it empty, for now.
  2. Create a file on a folder of your choice and write some code to add at least 50 users on database. This is going to be your seed script.
  3. Think about how you would make it run properly, then return to package.json and create your npm run seeds command.

NOTE: don't forget that you have to connect with the database in order to run the code, right?

You can check on TablePlus if your script worked. One thing that can help you with this code is Faker: a library that has some cool features to return several kinds of randomic data you want, like names, websites, numbers, sentences, and a lot more.

NOTE 2: this is an example of task that we use the chore/ prefix on the name of the branch.

@gbmoura0606
Copy link
Contributor

Finish

Copy link
Author

Click here for your next track

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant