3.22.4 ā€¢ Published 3 days ago

@serenity-js/assertions v3.22.4

Weekly downloads
2,086
License
Apache-2.0
Repository
github
Last release
3 days ago

Serenity/JS

Follow Serenity/JS on LinkedIn Watch Serenity/JS on YouTube Join Serenity/JS Community Chat Support Serenity/JS on GitHub

Serenity/JS is an innovative open-source framework designed to make acceptance and regression testing of complex software systems faster, more collaborative and easier to scale.

ā­ļø Get started with Serenity/JS!

šŸ‘‹ Join the Serenity/JS Community!

Serenity/JS Assertions

@serenity-js/assertions is an assertions library implementing the Screenplay Pattern.

Installation

To install this module, run the following command in your computer terminal:

npm install --save-dev @serenity-js/core @serenity-js/assertions

To learn more about Serenity/JS and how to use it on your project, follow the Serenity/JS Getting Started guide.

Performing verifications using Ensure

import { Ensure, endsWith } from '@serenity-js/assertions'
import { actorCalled } from '@serenity-js/core'
import { Navigate, Page } from '@serenity-js/web'

await actorCalled('Erica').attemptsTo(
    Navigate.to('https://serenity-js.org'),
    Ensure.that(
        Page.current().title(), 
        endsWith('Serenity/JS')
    ),
)

Controlling execution flow using Check

import { actorCalled } from '@serenity-js/core'
import { Check } from '@serenity-js/assertions' 
import { Click, isVisible } from '@serenity-js/protractor'

await actorCalled('Erica').attemptsTo(
    Check.whether(NewsletterModal, isVisible())
        .andIfSo(Click.on(CloseModalButton)),
)

Synchronising the test with the System Under Test using Wait

import { actorCalled } from '@serenity-js/core'
import { Click, isVisible, Wait } from '@serenity-js/protractor'

await actorCalled('Erica').attemptsTo(
    Wait.until(CloseModalButton, isVisible()),
    Click.on(CloseModalButton)
)

Defining custom expectations using Expectation.thatActualShould

import { actorCalled } from '@serenity-js/core'
import { Expectation, Ensure } from '@serenity-js/assertions'

function isDivisibleBy(expected: Answerable<number>): Expectation<number> {
    return Expectation.thatActualShould<number, number>('have value divisible by', expected)
        .soThat((actualValue, expectedValue) => actualValue % expectedValue === 0)
}

await actorCalled('Erica').attemptsTo(
    Ensure.that(4, isDivisibleBy(2)),
)

Composing expectations using Expectation.to

import { actorCalled } from '@serenity-js/core'
import { Expectation, Ensure, and, or, isGreaterThan, isLessThan, equals  } from '@serenity-js/assertions'

function isWithin(lowerBound: number, upperBound: number) {
    return Expectation
        .to(`have value within ${ lowerBound } and ${ upperBound }`)
        .soThatActual(and(
           or(isGreaterThan(lowerBound), equals(lowerBound)),
           or(isLessThan(upperBound), equals(upperBound)),
        ))
}

await actorCalled('Erica').attemptsTo(
    Ensure.that(5, isWithin(3, 6)),
)

šŸ“£ Stay up to date

New features, tutorials, and demos are coming soon! Follow Serenity/JS on LinkedIn, subscribe to Serenity/JS channel on YouTube and join the Serenity/JS Community Chat to stay up to date! Please also make sure to star ā­ļø Serenity/JS on GitHub to help others discover the framework!

Follow Serenity/JS on LinkedIn Watch Serenity/JS on YouTube Join Serenity/JS Community Chat GitHub stars

šŸ’› Support Serenity/JS

If you appreciate all the effort that goes into making sophisticated tools easy to work with, please support our work and become a Serenity/JS GitHub Sponsor today!

GitHub Sponsors

3.22.4

3 days ago

3.22.3

9 days ago

3.22.2

20 days ago

3.22.1

24 days ago

3.22.0

29 days ago

3.21.2

1 month ago

3.21.1

2 months ago

3.21.0

2 months ago

3.20.0

2 months ago

3.19.0

2 months ago

3.18.1

3 months ago

3.18.0

3 months ago

3.17.0

3 months ago

3.16.2

3 months ago

3.16.1

3 months ago

3.16.0

3 months ago

3.15.1

4 months ago

3.15.0

4 months ago

3.14.2

5 months ago

3.14.1

5 months ago

3.13.2

6 months ago

3.13.1

6 months ago

3.13.3

6 months ago

3.12.0

7 months ago

3.14.0

5 months ago

3.13.0

7 months ago

3.9.1

9 months ago

3.9.0

9 months ago

3.10.1

8 months ago

3.8.0

9 months ago

3.10.0

9 months ago

3.10.3

8 months ago

3.10.2

8 months ago

3.11.0

7 months ago

3.7.1

10 months ago

3.7.0

10 months ago

3.11.1

7 months ago

3.7.2

10 months ago

3.6.1

10 months ago

3.6.0

10 months ago

3.10.4

8 months ago

3.5.0

10 months ago

3.4.2

10 months ago

3.2.1

12 months ago

3.2.0

1 year ago

3.4.0

11 months ago

3.4.1

11 months ago

3.3.1

11 months ago

3.3.0

11 months ago

3.0.0-rc.45

1 year ago

3.0.0-rc.44

1 year ago

3.0.0-rc.43

1 year ago

3.1.3

1 year ago

3.1.2

1 year ago

3.1.1

1 year ago

3.1.0

1 year ago

3.1.6

1 year ago

3.1.5

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

3.0.0-rc.42

1 year ago

3.0.0-rc.41

1 year ago

3.0.0-rc.37

1 year ago

3.0.0-rc.39

1 year ago

3.0.0-rc.38

1 year ago

3.0.0-rc.40

1 year ago

3.0.0-rc.28

2 years ago

3.0.0-rc.29

2 years ago

3.0.0-rc.35

1 year ago

3.0.0-rc.34

1 year ago

3.0.0-rc.36

1 year ago

3.0.0-rc.31

2 years ago

3.0.0-rc.30

2 years ago

3.0.0-rc.33

2 years ago

3.0.0-rc.32

2 years ago

3.0.0-rc.27

2 years ago

3.0.0-rc.24

2 years ago

3.0.0-rc.23

2 years ago

3.0.0-rc.26

2 years ago

3.0.0-rc.25

2 years ago

3.0.0-rc.20

2 years ago

3.0.0-rc.22

2 years ago

3.0.0-rc.21

2 years ago

2.33.10

2 years ago

2.33.7

2 years ago

2.33.9

2 years ago

2.33.8

2 years ago

3.0.0-rc.17

2 years ago

3.0.0-rc.19

2 years ago

3.0.0-rc.18

2 years ago

2.33.6

2 years ago

2.33.5

2 years ago

3.0.0-rc.15

2 years ago

3.0.0-rc.16

2 years ago

2.33.4

2 years ago

3.0.0-rc.14

2 years ago

2.33.3

2 years ago

3.0.0-rc.13

2 years ago

2.33.1

2 years ago

2.33.0

2 years ago

2.33.2

2 years ago

2.32.7

2 years ago

2.32.6

2 years ago

3.0.0-rc.12

2 years ago

3.0.0-rc.6

2 years ago

3.0.0-rc.5

2 years ago

3.0.0-rc.11

2 years ago

3.0.0-rc.4

2 years ago

3.0.0-rc.10

2 years ago

3.0.0-rc.9

2 years ago

3.0.0-rc.8

2 years ago

3.0.0-rc.7

2 years ago

2.32.4

2 years ago

2.32.5

2 years ago

3.0.0-rc.2

2 years ago

3.0.0-rc.1

2 years ago

3.0.0-rc.0

2 years ago

3.0.0-rc.3

2 years ago

2.32.3

3 years ago

2.32.2

3 years ago

2.32.1

3 years ago

2.32.0

3 years ago

2.31.1

3 years ago

2.31.0

3 years ago

2.30.3

3 years ago

2.30.2

3 years ago

2.30.1

3 years ago

2.30.0

3 years ago

2.29.9

3 years ago

2.29.8

3 years ago

2.29.7

3 years ago

2.29.6

3 years ago

2.29.5

3 years ago

2.29.4

3 years ago

2.29.3

3 years ago

2.29.1

3 years ago

2.29.0

3 years ago

2.28.1

3 years ago

2.28.0

3 years ago

2.27.1

3 years ago

2.27.0

3 years ago

2.26.2

3 years ago

2.26.0

3 years ago

2.25.9

3 years ago

2.25.8

3 years ago

2.25.7

3 years ago

2.25.6

3 years ago

2.25.5

3 years ago

2.25.4

3 years ago

2.25.3

3 years ago

2.25.2

3 years ago

2.25.1

3 years ago

2.25.0

3 years ago

2.24.1

3 years ago

2.24.0

3 years ago

2.23.2

3 years ago

2.23.1

3 years ago

2.23.0

3 years ago

2.22.0

3 years ago

2.21.0

3 years ago

2.20.1

3 years ago

2.20.0

3 years ago

2.19.10

3 years ago

2.19.8

3 years ago

2.19.9

3 years ago

2.19.6

3 years ago

2.19.7

3 years ago

2.19.5

3 years ago

2.19.4

3 years ago

2.19.3

3 years ago

2.19.2

3 years ago

2.19.0

3 years ago

2.19.1

3 years ago

2.18.2

3 years ago

2.18.1

3 years ago

2.18.0

3 years ago

2.17.16

3 years ago

2.17.15

3 years ago

2.17.14

3 years ago

2.17.13

3 years ago

2.17.12

3 years ago

2.17.11

3 years ago

2.17.10

4 years ago

2.17.5

4 years ago

2.17.4

4 years ago

2.17.2

4 years ago

2.17.3

4 years ago

2.17.1

4 years ago

2.17.0

4 years ago

2.16.0

4 years ago

2.15.0

4 years ago

2.14.0

4 years ago

2.13.1

4 years ago

2.13.0

4 years ago

2.12.2

4 years ago

2.12.1

4 years ago

2.11.4

4 years ago

2.12.0

4 years ago

2.11.3

4 years ago

2.11.2

4 years ago

2.11.1

4 years ago

2.11.0

4 years ago

2.10.3

4 years ago

2.10.1

4 years ago

2.10.2

4 years ago

2.10.0

4 years ago

2.7.0

4 years ago

2.6.0

4 years ago

2.5.2

4 years ago

2.5.1

4 years ago

2.5.0

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.3.6

4 years ago

2.3.5

4 years ago

2.3.4

4 years ago

2.3.3

4 years ago

2.3.1

4 years ago

2.2.2

4 years ago

2.2.1

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.5

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.7

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.1-alpha.132

4 years ago

2.0.1-alpha.129

4 years ago

2.0.1-alpha.127

4 years ago

2.0.1-alpha.126

4 years ago

2.0.1-alpha.131

4 years ago

2.0.1-alpha.130

4 years ago

2.0.1-alpha.119

4 years ago

2.0.1-alpha.118

4 years ago

2.0.1-alpha.117

4 years ago

2.0.1-alpha.116

4 years ago

2.0.1-alpha.115

4 years ago

2.0.1-alpha.114

4 years ago

2.0.1-alpha.113

4 years ago

2.0.1-alpha.111

4 years ago

2.0.1-alpha.110

4 years ago

2.0.1-alpha.112

4 years ago

2.0.1-alpha.109

4 years ago

2.0.1-alpha.108

4 years ago

2.0.1-alpha.107

4 years ago

2.0.1-alpha.106

4 years ago

2.0.1-alpha.105

4 years ago

2.0.1-alpha.104

4 years ago

2.0.1-alpha.99

4 years ago

2.0.1-alpha.101

4 years ago

2.0.1-alpha.98

4 years ago

2.0.1-alpha.97

4 years ago

2.0.1-alpha.96

4 years ago

2.0.1-alpha.95

4 years ago

2.0.1-alpha.90

4 years ago

2.0.1-alpha.89

4 years ago

2.0.1-alpha.88

4 years ago

2.0.1-alpha.87

5 years ago

2.0.1-alpha.86

5 years ago

2.0.1-alpha.85

5 years ago

2.0.1-alpha.84

5 years ago

2.0.1-alpha.83

5 years ago

2.0.1-alpha.82

5 years ago

2.0.1-alpha.81

5 years ago

2.0.1-alpha.80

5 years ago

2.0.1-alpha.77

5 years ago

2.0.1-alpha.76

5 years ago

2.0.1-alpha.75

5 years ago

2.0.1-alpha.74

5 years ago

2.0.1-alpha.73

5 years ago

2.0.1-alpha.72

5 years ago

2.0.1-alpha.71

5 years ago

2.0.1-alpha.70

5 years ago

2.0.1-alpha.69

5 years ago

2.0.1-alpha.68

5 years ago

2.0.1-alpha.67

5 years ago

2.0.1-alpha.66

5 years ago

2.0.1-alpha.65

5 years ago

2.0.1-alpha.64

5 years ago

2.0.1-alpha.63

5 years ago

2.0.1-alpha.62

5 years ago

2.0.1-alpha.61

5 years ago

2.0.1-alpha.60

5 years ago

2.0.1-alpha.59

5 years ago

2.0.1-alpha.58

5 years ago

2.0.1-alpha.57

5 years ago

2.0.1-alpha.54

5 years ago

2.0.1-alpha.53

5 years ago

2.0.1-alpha.52

5 years ago

2.0.1-alpha.51

5 years ago

2.0.1-alpha.50

5 years ago

2.0.1-alpha.49

5 years ago

2.0.1-alpha.48

5 years ago

2.0.1-alpha.47

5 years ago

2.0.1-alpha.46

5 years ago

2.0.1-alpha.45

5 years ago

2.0.1-alpha.44

5 years ago

2.0.1-alpha.43

5 years ago

2.0.1-alpha.42

5 years ago

2.0.1-alpha.41

5 years ago

2.0.1-alpha.40

5 years ago

2.0.1-alpha.39

5 years ago

2.0.1-alpha.38

5 years ago

2.0.1-alpha.37

5 years ago

2.0.1-alpha.36

5 years ago

2.0.1-alpha.35

5 years ago

2.0.1-alpha.34

5 years ago

2.0.1-alpha.33

5 years ago

2.0.1-alpha.32

5 years ago

2.0.1-alpha.31

5 years ago

2.0.1-alpha.30

5 years ago

2.0.1-alpha.29

5 years ago

2.0.1-alpha.28

5 years ago

2.0.1-alpha.27

5 years ago

2.0.1-alpha.26

5 years ago

2.0.1-alpha.25

5 years ago

2.0.1-alpha.24

5 years ago

2.0.1-alpha.23

5 years ago

2.0.1-alpha.22

5 years ago

2.0.1-alpha.21

5 years ago

2.0.1-alpha.20

5 years ago

2.0.1-alpha.19

5 years ago

2.0.1-alpha.18

5 years ago

2.0.1-alpha.17

5 years ago

2.0.1-alpha.16

5 years ago

2.0.1-alpha.15

5 years ago

2.0.1-alpha.14

5 years ago

2.0.1-alpha.13

5 years ago

2.0.1-alpha.12

5 years ago

2.0.1-alpha.11

5 years ago

2.0.1-alpha.10

5 years ago

2.0.1-alpha.9

5 years ago

2.0.1-alpha.8

5 years ago

2.0.1-alpha.7

5 years ago

2.0.1-alpha.6

5 years ago

2.0.1-alpha.5

5 years ago

2.0.1-alpha.4

5 years ago

2.0.1-alpha.3

5 years ago

2.0.1-alpha.2

5 years ago