Gathering detailed insights and metrics for @autometa/runner
Gathering detailed insights and metrics for @autometa/runner
npm install @autometa/runner
Typescript
Module System
Node Version
NPM Version
Verify real, reachable, and deliverable emails with instant MX records, SMTP checks, and disposable email detection.
Total Downloads
18,039
Last Day
119
Last Week
167
Last Month
456
Last Year
8,031
Minified
Minified + Gzipped
Latest Version
0.6.4
Package Id
@autometa/runner@0.6.4
Unpacked Size
183.33 kB
Size
31.61 kB
File Count
16
NPM Version
9.2.0
Node Version
19.4.0
Published on
Oct 12, 2024
Cumulative downloads
Total Downloads
Last Day
891.7%
119
Compared to previous day
Last Week
77.7%
167
Compared to previous week
Last Month
12.6%
456
Compared to previous month
Last Year
-19.8%
8,031
Compared to previous year
21
Autometa is under construction. It is currently unstable, poorly documented and not production ready for most cases.
Check back soon.
The following libraries may be considered relatively stable, but may contain bugs or unclear errors
this
keyword on a class method. Respectfully a fork of bind-decoratoras const
Autometa is an early-development automation framework toolkit, which provides libraries to help automate the automation process on node with libraries to help bootstrap your node automation framework, for API or E2E testing.
The Cucumber Runner lets you build and execute Cucumber style tests with alternative test runners. Currently supported are jest
.
Initially inspired by jest-cucumber provides a customizable hybrid approach between cucumbers flat global steps and jest-cucumbers nested spec-like tests.
Dependency injection is supported to make initializing client classes needed to interface with your service or website simple and logic-free, with unique copies provided to each executing tests.
1import { Feature, Given, When, Then, Before } from "@autometa/runner"; 2import { App } from "./my-app"; 3import * as seedData from "./seed-data"; 4 5Before("Seed the database", async ({ dbClient }: App) => { 6 await dbClient.seed(seedData); 7}); 8Given("a user who wants to log in", () => {}); 9When("a user submits their credentials", () => {}); 10Then("a user sees their", () => {}); 11 12// tests assembled automatically 13Feature("./my-feature.feature");
Steps can also be nested or groups to override higher level steps.
1import { 2 Feature, 3 Given, 4 When, 5 Then, 6 Before, 7 ScenarioOutline, 8 Scenario, 9 Rule, 10} from "@autometa/runner"; 11import { App } from "./my-app"; 12import * as seedData from "./seed-data"; 13 14Before("Seed the database", async ({ dbClient }: App) => { 15 await dbClient.seed(seedData); 16}); 17Given("a user who wants to log in", () => {}); 18When("a user submits their credentials", () => {}); 19 20Feature(() => { 21 Scenario("a user logs in successfully", () => { 22 Then("a user sees their profile", () => {}); 23 }); 24 25 Scenario("a user cannot log in without a password", () => { 26 Then( 27 "a user is informed they cannot log in", 28 (expectedError: string) => {} 29 ); 30 }); 31 Rule("a rule", () => { 32 ScenarioOutline("some outline", () => { 33 // define steps unique to `some outline` 34 }); 35 }); 36}, "./my-feature.feature");
Implementation of the Builder pattern that allows automatically generating builder classes from a DTO class prototype, with type-safe builder methods in place of DTO properties.
1import { dto, Builder } from '@autometa/dto-builder' 2export class UserDto { 3 id: number 4 username: string, 5 // default values, factories, dtos 6 @DTO.dto(AddressDto) 7 address: AddressDto 8 @DTO.date() 9 createdAt: Date 10} 11// or 12// avoid duplicating interface properties 13export class UserDto extends DTO<IUser> {} 14 15const UserDtoBuilder = Builder(UserDto); 16 17const user = new UserDtoBuilder().id(1).name('bob').build() 18 19// compilation error, 'first argument of "id" must be a number" 20 new UserDtoBuilder().id('1').name('bob').build() 21 // force it to pass a string 22 new UserDtoBuilder().id('1' as unknown as number).name('bob').build()
No vulnerabilities found.
No security vulnerabilities found.