renative icon indicating copy to clipboard operation
renative copied to clipboard

Add CLI to regression testing

Open mihaiblaga89 opened this issue 1 year ago • 4 comments

All renative CLI commands:

  • crypto decrypt
  • crypto encrypt
  • platform eject
  • platform connect
  • platform list
  • platform configure
  • platform setup
  • template add
  • template apply
  • template list
  • plugin add
  • plugin list
  • plugin update
  • workspace list
  • workspace add
  • workspace connect
  • workspace update
  • hooks list
  • hooks run
  • hooks pipes
  • clean
  • fastlane
  • publish
  • pkg
  • status
  • config
  • help
  • new
  • install
  • project configure
  • project upgrade
  • app configure
  • app create
  • workspace configure
  • configureSoft
  • kill
  • doctor
  • target list
  • target launch
  • link
  • unlink

Proposal:

  1. Aim to have a smoke test for all of them
  2. Start with regression tests for the most common ones:
  • crypto encrypt
  • crypto decrypt
  • new
  • template apply
  • hooks run
  • project configure
  • target list

mihaiblaga89 avatar Jun 26 '23 14:06 mihaiblaga89

Current process

  • install latest version of rnv
  • rnv new
  • select matching template version and create project with default options
  • rnv run -p android/ios/web/macos/firetv/androidtv/tvos, optimistically on sims or devices otherwise just on one or the other

mihaiblaga89 avatar Jun 27 '23 13:06 mihaiblaga89

  • QA will start manually testing the following steps crypto encrypt crypto decrypt new hooks run target list - basic testing, no in-depth "why is this tablet emulator marked as a tv" testing for now
  • This week we'll plan a CLI automation session where we go through one CLI command testing example
  • @pauliusguzas will look if there are any interesting CLI automation testing libs, otherwise Jest

mihaiblaga89 avatar Jun 27 '23 14:06 mihaiblaga89

@mihaiblaga89 @pauliusguzas another important thing to test is variant between local repo (linked) and rnv installed globally directly from npm

so the scope of testing would include:

  • rnv (via npm i -g) HIGHER PRIO as this is what MOST users would use
  • rnv (linked)
  • rnv (via project npx)
  • app-harness (to be created)
  • template-starter (via rnv new)

pavjacko avatar Jun 28 '23 10:06 pavjacko

blocked by https://github.com/flexn-io/renative/issues/1098

GabrieleKaceviciute avatar Sep 08 '23 07:09 GabrieleKaceviciute