Mockingbird Presets: Optimizing API Development Workflows
Tags: webdev, programming, productivity, tooling
Published: 2024-06-12 09:45:00


In our previous articles, we explored the [fundamentals of Mockingbird](https://dev.to/ozkeisar/mockingbird-new-tool-for-your-mock-environments-49j) and [how to set up your mock server](https://dev.to/ozkeisar/mockingbird-new-tool-for-your-mock-environments-49j). In this third installment of our Mockingbird series, we delve into one of its most powerful features: Presets. Presets significantly enhance productivity and efficiency when testing and debugging APIs, making them an essential tool for developers and QA teams.

### What are Presets?

Presets in Mockingbird are collections of routes with predefined responses. They allow you to quickly switch between different test scenarios by applying a preset, which updates the active responses on all routes within that preset to their specified values.

### Benefits of Using Presets

1. **Efficient Testing and Debugging**: Presets enable you to rapidly switch between different test scenarios without manually changing each route's response. This streamlines the testing and debugging process, saving valuable time and effort.

2. **QA Automation and Manual Testing**: Presets are particularly useful for QA automation and manual testing. By applying a preset, you can quickly set up the desired test environment, ensuring consistent and reliable testing across different scenarios.

3. **Developer Productivity**: Developers can leverage presets to efficiently debug specific scenarios without the need to manually modify each route's response. This enhances productivity and allows for quicker issue resolution.

4. **Consistent Demos**: Presets are invaluable for demonstrating your application's features. By setting up various test scenarios in advance, you can seamlessly switch between them during a demo, providing a polished and professional presentation.

5. **Training and Onboarding**: Presets can be used to create specific scenarios for training new team members. This ensures that new developers or testers can easily understand and interact with the system without setting up their own test cases.

6. **Simulating Edge Cases**: Presets allow you to quickly simulate edge cases or rare scenarios that are hard to reproduce in a live environment. This ensures comprehensive testing and robustness of your application.

7. **Collaboration Across Teams**: Presets can be shared across different teams, ensuring that everyone is testing and developing against the same scenarios. This improves collaboration and reduces discrepancies between environments.

### Using Presets in Mockingbird

To use presets in Mockingbird, follow these steps:

- **Create a Preset**: In the Mockingbird interface, navigate to the "Presets" tab

![Preset tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2ef570o6hf0vze0mdby.png)

Click on `New folder`, fill the folder name and filename and then click `save`.

Then click "Add Preset".

![Empty preset folder](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y6d85t1z0njr6uc6p8y5.png)

Give your preset a descriptive name and save.

![Preset details](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vw01jz1tkqbjcwh78lzp.png)


Click on `Add route` and then dialog will open and let you select the desired route.

In the dialog select the server parent and the desired route, then you will have a list of all the responses on this route and you will be able to select the desired response, select the response and hit save.

![Select route and response dialog](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ageq17k8mvbl8cyx3m4.png)

In the preset details you will see the server block and inside it the route parent and under the parent the selected route, on the route row you will see the selected response name.

![Preset details with route](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1z6s1ypulmqwbaglklek.png)

Repeat this process with all the routes that you want to add to the preset.


![Preset details with multiple routes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvz3oooe7r0fgkt6fmet.png)




- **Apply a Preset**: Once you have created one or more presets, you can apply them to your mock server. Simply select the desired preset from the list, and Mockingbird will update the active responses on all routes within that preset to their specified values.

- **Test and Debug**: With the preset applied, you can now test your application against the configured responses, simulating different scenarios without modifying your codebase or waiting for backend changes.

- **Switch Between Presets**: To test a different scenario, simply apply another preset. Mockingbird will seamlessly update the active responses, allowing you to quickly switch between test environments.

By leveraging the power of presets in Mockingbird, you can significantly streamline your API testing and debugging workflows, enabling faster iterations, improved collaboration, and ultimately, more efficient development cycles.


## Upcoming in This Series

- Setting up a GraphQL Mock Server with Mockingbird.
- Managing Multiple Projects and Servers in Mockingbird.
- Dynamically Updating Mockingbird Responses from Automated Tests.

## Engage With Us
Follow me on [Twitter](https://x.com/ozkeisar), also you can join the discussion or share your experiences on our [subreddit](https://www.reddit.com/r/mockingbird_dev/) or directly in the comments below. Your feedback helps us improve and guides our future developments.