Skip to content

Latest commit

 

History

History
252 lines (193 loc) · 7.44 KB

README.md

File metadata and controls

252 lines (193 loc) · 7.44 KB

Pest Snippets

Ready for Pest v2

Pest Snippets is a compilation of code snippets for writing tests with Pest PHP.

Code snippets are templates for the codes you use most often.

Using snippets allows you to write code faster, boosting your productivity, and preventing mistakes.

⭐ Please consider starring the GitHub repository if you find this extension useful.

🚀 Quick start

Just type :p to get a list of all code snippets.

Additionally, you can type:

  • :pte to access all test() snippets.

  • :pti to access all it() snippets.

  • :pex to access the available expect() methods.

Screenshot

🗒️ Code Snippet List

Test templates

Pest provides two functions for writing tests: test() and it().

Type :pte + [TAB] to use the test() function:

test('', function () {
  //expect()->
});

Type :pit + [TAB] to the ìt() function:

it('', function () {
  //expect()->
});

Skipping tests

Type :ptes / :pits to create a test with skip():

test('', function () {
  //...
})->skip();

Type :petodo / :pitodo + [TAB] to create a test with todo():

test('', function () {
  //...
})->todo();

Skipping tests (WIP)

WIP stands for "Work In Progress".

Type :ptewip / :pitwip to create a test with skip('wip'):

test('', function () {
  //...
})->skip('wip');

Groups of tests

Type :pteg / :pitg + [TAB] to create a test with group():

test('', function () {
  //...
})->group();

Datasets

Type :pted / :pitd + [TAB] to create a test with with():

test('', function () {
  //...
})->with();

Type :pteld / :pitld + [TAB] to create a test with with() using Lazy datasets:

test('', function () {
  //...
})-> with(function () {
  yield '';
});

Exceptions & Errors

Type :ptet / :pitt + [TAB] to create a test with throws():

test('throws exception', function () {
    //...
})->throws();

Type :ptetif / :pittif + [TAB] to create a test with throwsIf():

test('throws exception if...', function () {
    //...
})->throwsIf();

Type :penoex / :pitnoex + [TAB] to create a test with throwsNoExceptions():

test('throws no exceptions', function () {
    //...
})->throwsNoExceptions();

Setup and teardown

Type :pbe + [TAB] to create a beforeEach() function:

beforeEach(function () {
  //...
});

Type :pae + [TAB] to create a afterEach() function:

afterEach(function () {
  //...
});

Type :pba + [TAB] to create a beforeAll() function:

beforeAll(function () {
  //...
});

Type :paa + [TAB] to create a afterAll() function:

afterAll(function () {
  //...
});

Expectation API

Type :pex + [TAB] to create a expect() function:

  expect()

Then, type :pex and use your keyboard to move through all the different expectation methods.

For example, type: pex + [TAB] and then :pextobe + [TAB] results in:

  expect()->toBe()

Available expect() methods:

Trigger Snippet
: pex expect()->
: pextobe ->toBe()
: pextobearray ->toBeArray()
: pextobeempty ->toBeEmpty()
: pextobetrue ->toBeTrue()
: pextobetruthy ->toBeTruthy()
: pextobefalse ->toBeFalse()
: pextobefalsy ->toBeFalsy()
: pextobegreaterthan ->toBeGreaterThan()
: pextobegreaterthanorequal ->toBeGreaterThanOrEqual()
: pextobelessthan ->toBeLessThan()
: pextobelessthanorequal ->toBeLessThanOrEqual()
: pextocontain ->toContain()
: pextocontainonlyins ->toContainOnlyInstancesOf()
: pextohavecount ->toHaveCount()
: pextohavemethod ->toHaveMethod()
: pextohavemethods ->toHaveMethods()
: pextohaveproperty ->toHaveProperty()
: pextohaveproperties ->toHaveProperties()
: pextomatcharray ->toMatchArray()
: pextomatchobject ->toMatchObject()
: pextoequal ->toEqual()
: pextoequalcanonicalizing ->toEqualCanonicalizing()
: pextoequalwithdelta ->toEqualWithDelta()
: pextobein ->toBeIn()
: pextobeinfinite ->toBeInfinite()
: pextobeinstanceof ->toBeInstanceOf()
: pextobebool ->toBeBool()
: pextobecallable ->toBeCallable()
: pextobefloat ->toBeFloat()
: pextobeint ->toBeInt()
: pextobeiterable ->toBeIterable()
: pextobenumeric ->toBeNumeric()
: pextobeobject ->toBeObject()
: pextoberesource ->toBeResource()
: pextobescalar ->toBeScalar()
: pextobestring ->toBeString()
: pextobejson ->toBeJson()
: pextobenan ->toBeNan()
: pextobenull ->toBeNull()
: pextohavekey ->toHaveKey()
: pextohavekeys ->toHaveKeys()
: pextohavelength ->toHaveLength()
: pextobefile ->toBeFile()
: pextobedirectory ->toBeDirectory()
: pextobereadabledirectory ->toBeReadableDirectory()
: pextobereadablefile ->toBeReadableFile()
: pextobewritabledirectory ->toBeWritableDirectory()
: pextobewritablefile ->toBeWritableFile()
: pextostartwith ->toStartWith()
: pextothrow ->toThrow()
: pextoendwith ->toEndWith()
: pextomatch ->toMatch()
: pextomatchconstraint ->toMatchConstraint()
: pexdd ->dd()
: pexray ->ray()
: pexjson ->json()->
: pexand ->and()->
: pexnot ->not()->
: pexdef ->defer()->
: pexeach ->each()->
: pexsequence ->sequence()
: pexwhen ->when()
: pexunless ->unless()
: pexunless ->unless()