Skip to content

Port integration tests to Cucumber-jvm #18

Closed
@php-coder

Description

@php-coder

Cucumber (https://github.com/cucumber/cucumber-jvm) is a great framework for writing acceptance tests. We definitely should use it instead of our's own.

  • Read https://cucumber.io/docs/reference
  • Read https://cucumber.io/docs/reference/jvm
  • Read https://thomassundberg.wordpress.com/2014/05/29/cucumber-jvm-hello-world/
  • Read http://www.slideshare.net/alan_parkinson/test-automation-with-cucumberjvm
  • Watch https://www.youtube.com/playlist?list=PL_noPv5wmuO_t6yYbPfjwhJFOOcio89tI
    • Setting Up Cucumber
    • Writing a Basic Script
    • Writing a Basic WebDriver Script
    • Parameter Handling
    • Scenario Data Tables
    • Scenario Outline Data Tables
    • Scenario Hooks
    • Maven Setup
    • Cucumber Reporting
    • Test Suites
    • Drop Downs, Checkboxes and Radios
    • Background Script
    • Multiple Step Definition Classes
    • Page Objects
  • Port our test
    • WhenAdminAddCategory
      • categoryNameEnShouldNotBeTooShort()
      • categoryNameRuShouldNotBeTooShort()
      • categoryNameEnShouldNotBeTooLong()
      • categoryNameRuShouldNotBeTooLong()
      • categoryNameEnShouldBeUnique()
      • categoryNameRuShouldBeUnique()
      • categoryNameEnWithAllowedCharactersShouldBeAccepted()
      • categoryNameRuWithAllowedCharactersShouldBeAccepted()
      • categoryNameEnWithForbiddenCharactersShouldBeRejected()
      • categoryNameRuWithForbiddenCharactersShouldBeRejected()
      • categoryNameEnShouldNotStartsFromHyphen()
      • categoryNameRuShouldNotStartsFromHyphen()
      • categoryNameEnShouldNotEndsWithHyphen()
      • categoryNameRuShouldNotEndsWithHyphen()
      • categoryNameEnShouldBeStripedFromLeadingAndTrailingSpaces()
      • categoryNameRuShouldBeStripedFromLeadingAndTrailingSpaces()
      • shouldBeRedirectedToPageWithInfoAboutCategoryAfterCreation()
      • categoryShouldBeAvailableForChoosingAtPageWithSeries()
    • WhenAdminAddCountry
      • countryNameEnShouldNotBeTooShort()
      • countryNameRuShouldNotBeTooShort()
      • countryNameEnShouldNotBeTooLong()
      • countryNameRuShouldNotBeTooLong()
      • countryNameEnShouldBeUnique()
      • countryNameRuShouldBeUnique()
      • countryNameEnWithAllowedCharactersShouldBeAccepted()
      • countryNameRuWithAllowedCharactersShouldBeAccepted()
      • countryNameEnWithForbiddenCharactersShouldBeRejected()
      • countryNameRuWithForbiddenCharactersShouldBeRejected()
      • countryNameEnShouldNotStartsFromHyphen()
      • countryNameRuShouldNotStartsFromHyphen()
      • countryNameEnShouldNotEndsWithHyphen()
      • countryNameRuShouldNotEndsWithHyphen()
      • countryNameEnShouldBeStripedFromLeadingAndTrailingSpaces()
      • countryNameRuShouldBeStripedFromLeadingAndTrailingSpaces()
      • shouldBeRedirectedToPageWithInfoAboutCountryAfterCreation()
      • countryShouldBeAvailableForChoosingAtPageWithSeries()
    • WhenAdminAddSeries
      • catalogNumbersShouldAcceptValidValues()
      • quantityShouldBeANumber()
      • quantityShouldBeNotLessThanLimit()
      • quantityShouldNotBeGreaterThanLimit()
      • catalogNumbersShouldRejectInvalidValues()
      • catalogPricesShouldRejectInvalidValues()
      • commentShouldNotBeTooLong()
      • imageSizeMustBeGreaterThanZero()
      • issueYearFieldShouldHaveOptionsForRangeFrom1840ToCurrentYear()
      • catalogNumbersShouldBeStripedFromSpaces()
      • commentShouldBeStripedFromLeadingAndTrailingSpaces()
      • shouldCreateSeriesWithOnlyRequiredFieldsFilled()
      • shouldCreateSeriesWithAllFieldsFilled()
      • shouldIgnoreDuplicatedCatalogNumbers()
      • shouldAllowExistingCatalogNumbers()
    • WhenAdminAtIndexPage
      • shouldExistsWelcomeText()
      • shouldExistsLinkForAddingSeries()
      • shouldExistsLinkForAddingCountries()
      • shouldExistsLinkForAddingCategories()
    • WhenAnonymousUserActivateAccount
      • activationKeyShouldBeAutoFilledFromURL()
      • loginAndPasswordShouldBeDifferent()
      • passwordAndConfirmationShouldMatch()
      • loginShouldNotBeTooShort()
      • mostShortLoginShouldBeAccepted()
      • loginShouldNotBeTooLong()
      • mostLongLoginShouldBeAccepted()
      • loginWithAllowedCharactersShouldBeAccepted()
      • loginWithForbiddenCharactersShouldBeRejected()
      • loginShouldBeUnique()
      • nameShouldNotBeTooLong()
      • nameWithAllowedCharactersShouldBeAccepted()
      • nameWithForbiddenCharactersShouldBeRejected()
      • nameShouldNotStartsFromHyphen()
      • nameShouldNotEndsWithHyphen()
      • nameShouldBeStripedFromLeadingAndTrailingSpaces()
      • passwordShouldNotBeTooShort()
      • mostShortPasswordShouldBeAccepted()
      • passwordWithAllowedCharactersShouldBeAccepted()
      • passwordWithForbiddenCharactersShouldBeRejected()
      • activationKeyShouldNotBeTooShort()
      • activationKeyShouldNotBeTooLong()
      • activationKeyWithForbiddenCharactersShouldBeRejected()
      • wrongActivationKeyShouldBeRejected()
      • afterActivationShouldExistsMessageWithLinkForAuthentication()
      • activationShouldPassWhenUserProvidedEmptyName()
    • WhenAnonymousUserAddCategory
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserAddCountry
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserAddSeries
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserAtForbiddenPage
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserAtIndexPage
      • shouldAbsentWelcomeText()
      • linkForAddingSeriesShouldBeAbsent()
      • linkForAddingCategoriesShouldBeAbsent()
      • linkForAddingCountriesShouldBeAbsent()
    • WhenAnonymousUserAtUnauthorizedPage
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserAuthenticates
      • emptyValuesShouldBeConsideredAsInvalidCredentials()
      • invalidCredentialsShouldBeRejected()
      • validCredentialsShouldAuthenticateUserOnSite()
    • WhenAnonymousUserOpenNotExistingCategoryPage
      • shouldShow404Page()
    • WhenAnonymousUserOpenNotExistingCountryPage
      • shouldShow404Page()
    • WhenAnonymousUserOpenNotExistingSeriesPage
      • shouldShow404Page()
    • WhenAnonymousUserOpenNotExistingPage
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
      • incidentShouldBeLoggedToDatabase()
      • shouldShow404Page()
    • WhenAnonymousUserOpenTogglzConsole
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
    • WhenAnonymousUserRegisterAccount
      • shouldExistsMessageWithLinkToAuthenticationPage()
      • emailShouldNotBeTooLong()
      • emailShouldBeValid()
      • emailShouldBeStripedFromLeadingAndTrailingSpaces()
      • successfulMessageShouldBeShownAfterRegistration()
      • emailWithActivationKeyShouldBeSentAfterRegistration()
    • WhenUserAddSeries
      • catalogNumbersShouldAcceptValidValues()
      • quantityShouldBeANumber()
      • quantityShouldBeNotLessThanLimit()
      • quantityShouldNotBeGreaterThanLimit()
      • catalogNumbersShouldRejectInvalidValues()
      • catalogPricesShouldRejectInvalidValues()
      • imageSizeMustBeGreaterThanZero()
      • issueYearFieldShouldHaveOptionsForRangeFrom1840ToCurrentYear()
      • catalogNumbersShouldBeStripedFromSpaces()
      • shouldCreateSeriesWithOnlyRequiredFieldsFilled()
      • shouldCreateSeriesWithAllFieldsFilled()
      • shouldIgnoreDuplicatedCatalogNumbers()
      • shouldAllowExistingCatalogNumbers()
    • WhenUserAtActivateAccountPage
      • messageShouldBeShown()
      • messageShouldBeShown()
      • formWithLegendShouldBeAbsent()
    • WhenUserAtAuthPage
      • messageShouldBeShown()
      • formWithLegendShouldBeAbsent()
    • WhenUserAtIndexPage
      • shouldExistsWelcomeText()
      • shouldExistsLinkForAddingSeries()
      • linkForAddingCategoriesShouldBeAbsent()
      • linkForAddingCountriesShouldBeAbsent()
    • WhenUserAtRegisterAccountPage
      • messageShouldBeShown()
      • formWithLegendShouldBeAbsent()
    • WhenUserLogsOut.shouldRedirectAndClearSession()
    • WhenUserOpenTogglzConsole
      • shouldExistsErrorMessage()
      • shouldExistsErrorCode()
  • Port checks for required fields
    • add category
    • add country
    • add series
    • registration
    • activation
  • Port standart checks
  • Review and remove branch re_131_thucidies
  • Review and remove branch re_131_thucidies_new
  • Review and remove branch re_131_thucidies_new_new
  • Review and remove branch gh18_serenity
  • Update README.md
  • Add package-info.java files
  • Update wiki if it's required
  • Remove TestNG dependency
  • Remove fest-assert dependency
  • Update src/main/config/checkstyle-suppressions.xml
  • Update src/main/config/checkstyle.xml (remove testng and fest; add junit and hamcrest)

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions