New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

tasty-api

Package Overview
Dependencies
Maintainers
2
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tasty-api

API testing framework

latest
Source
npmnpm
Version
0.5.2
Version published
Weekly downloads
34
385.71%
Maintainers
2
Weekly downloads
 
Created
Source

TastyJS

TastyJS CircleCI

TastyJS is an API testing framework which will make your testing process tastier.

TastyJS doesn't pretend to be a Swizz knife in testing world. It's a syntactic sugar above mocha and other testing kitchen stuff related to api testing. The main goal is make api testing process as easy as it possible.

You don't need to know anything about testing standards, dictionary, and community conventions.

You just write, what you hear.

This tool limits the number of degrees of freedom. In this case, if you a programming geek, here you will be cramped. If you want to focus on the essence of api testing, and want to increase the speed of this process, this tool is for you.

PoC

TastyJS provides unified approach for development, support and testing REST API endpoints

TastyJS is built on top Application abstraction
Every Application has list of Resources
one Resouce describe single REST API url - path and related configuration

There is Service - mock abstraction for Resource, that allow declaring required Resource headers, status codes, response in declarative manner and use for TDD development

TastyJS provides an interface for testing each Resource with specific api:

TEST API

Simple test:

import tasty from 'tasty';
import app from '../app';

tasty.case('Tests for /login',
  tasty.suite(
    'Response status',
    app.login.post(),
    {
      checkStatus: 200
    }
  )
);

or something more complex

import tasty from 'tasty';
import app from '../app';

tasty.case('Tests for /product',
  app.login
    .setMock({
      token: 'some mock server token',
    })
    .post({
      capture: {
        json: '$.token',
        as: 't',
      },
    }),
  tasty.suite(
    'Response structure',
    app.product.get(),
    {
      checkStatus: 200,
      checkStatusText: 'OK',
      checkStructure: true,
      check: (res, ctx) => ctx.t === 'some mock server token',
    },
  ),
  app.logout.post(),
);

Sponsors

Leroy Merlin LM Tech

License

This project is licensed under the terms of the Apache-2.0 license.

Keywords

API

FAQs

Package last updated on 03 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts