5, 10 or 20 seats+ for your team - learn more
You’re a TypeScript developer for a large company that sells stock photography. You’re responsible for the service that ingests images, and it’s been having problems, despite successful unit testing. Working in IntelliJ WebStorm and the Nest framework, you’ll build an integration test that replicates an otherwise unreproducible problem. You’ll also mock an external service to address and prevent problems related to external dependencies. To address problems that only occur when two services are combined, you’ll use integration testing to connect and run the two services together. When you’ve completed this series, you’ll have an integration testing strategy that goes well beyond the capabilities of unit tests for ensuring the stability of your code.
I learned about many technologies I never heard about before and gained new perspectives given by the authors’ experience.
You’re a TypeScript developer for a large company that sells stock photography. You’re responsible for the service that ingests images, and a recent database change has broken the service, despite successful unit testing. Working in IntelliJ WebStorm, you’ll build an integration test that replicates the problem, find the cause, fix the problem, and build the infrastructure to develop more integration tests in the future.
Create an alarm system that warns you before your system breaks. You’re a TypeScript developer for a large company that sells stock photography. You’re responsible for the service that ingests images. A recent upgrade to the image-scaling library has caused a problem with the aspect ratio of thumbnail images. Working in IntelliJ WebStorm, you’ll build a layer of integration tests that replicates the problem and also tests the assumptions that your unit tests rely on. When you’re done, you’ll have an alarm system that warns you when the assumptions your unit tests rely on are no longer valid, preventing problems in the future.
Ensure your system can accommodate even unstable dependency services. You’re a TypeScript developer for a large company that sells stock photography. You’re responsible for the service that ingests images. Unfortunately, the ingestion process is being negatively affected by a flaky external web service that the ingestion engine uses, and the problem is not reproducible in unit testing since there’s no connection to the external service at that time. Working in IntelliJ WebStorm, you’ll establish an in-memory HTTP service, configure it to simulate a dependency service, write a test to reproduce the error, and use the test to build robustness into your system.
You’re a TypeScript developer for a large company that sells stock photography. You’re responsible for the service that ingests images, and this service depends on another subservice: the pricing microservice. As proven by their individual unit tests, each service works as specified. But when the services are combined, new customers are locked into one pricing table—even those that should have access to pricing that fluctuates depending on factors like promotions, flash sales, and price-tuning. Working in IntelliJ WebStorm, you’ll solve this problem by writing an integration test that connects and runs the two services together, letting you reproduce the problem locally.
This liveProject series is for developers with a beginner-level understanding of TypeScript and object-oriented design. To begin these liveProjects you’ll need to be familiar with the following:
TOOLSgeekle is based on a wordle clone.