Book Image

Architecting Vue.js 3 Enterprise-Ready Web Applications

By : Solomon Eseme
Book Image

Architecting Vue.js 3 Enterprise-Ready Web Applications

By: Solomon Eseme

Overview of this book

Building enterprise-ready Vue.js apps entails following best practices for creating high-performance and scalable applications. Complete with step-by-step explanations and best practices outlined, this Vue.js book is a must-read for any developer who works with a large Vue.js codebase where performance and scalability are indispensable. Throughout this book, you’ll learn how to configure and set up Vue.js 3 and the composition API and use it to build real-world applications. You’ll develop the skills to create reusable components and scale performance in Vue.js 3 applications. As you progress, the book guides you in scaling performance with asynchronous lazy loading, image compression, code splitting, and tree shaking. Furthermore, you’ll see how to use the Restful API, Docker, GraphQL, and different types of testing to ensure that your Vue.js 3 application is scalable and maintainable. By the end of this book, you’ll be well-versed in best practices for implementing Restful API, Docker, GraphQL, and testing methods to build and deploy an enterprise-ready Vue.js 3 application of any scale.
Table of Contents (21 chapters)
1
Part 1: Getting Started with Vue.js
4
Part 2: Large-Scale Apps and Scaling Performance in Vue.js 3
9
Part 3: Vue.js 3 Enterprise Tools
11
Part 4: Testing Enterprise Vue.js 3 Apps
16
Part 5: Deploying Enterprise-ready Vue.js 3

Testing integrated components

In the previous example, we tested a simple Button component to make it render properly with the required properties. In this section, we will test a completely integrated component that combines different individual components. Let’s get started with the following steps:

  1. Create a file inside the tests/components directory called HomeOverivew.vue since we want to test the integration of the home page.
  2. Open the file and add the following testing code or clone the repository using the GitHub link mentioned in the Technical requirements section:
    import { fireEvent, render } from "@testing-library/vue";
    import { describe, expect, it } from "vitest";
    import HomeOverview from "../../components/templates/HomeOverview.vue";
    describe("HomeOverview.vue", () => {
     it("renders component", async () => {
       const { getByText } = render(HomeOverview);
       getByText...