# Setup of MET Example Project Testing

## Preconditions

Before starting with the setup make sure you meet the following requirements:

* [valet.sh](https://valet.sh) must be installed. The following service versions are automatically used with valet.sh:
    * PHP 8.1
    * MariaDB 10.4
    * Elasticsearch 7
    * Composer 2

## Setup

```bash
valet.sh init-instance
composer tests-setup
```

### Frontend:

* https://met.test/

### Backend:

* URL: https://met.test/admin

### Login local

User: `admin`

Password: `admin123`

## Build release

Just create a version tag like `1.0.0` or `1.2.3` to trigger the build-release gitlab-ci job and build a release version
artifact which can later be used for deployments to any environment.

## Deployment

Create a deploy tag like `deploy/test/1.2.3` based on your previously tagged release-build version `1.2.3`.

## Development

You can use `../vendor/bin/cache-clean.js -w` to enable the cache clean watcher.

## Local less compiling

To clean the pub/static folder

* `../vendor/bin/gulpm2 clean --met`

Triggers the `bin/magento dev:source-theme:deploy` task

* `../vendor/bin/gulpm2 exec --met`

Compiles the less files via gulp to css (js compile)

* `../vendor/bin/gulpm2 less --met`

Runs all three previous tasks

* `../vendor/bin/gulpm2 build --met`

## Run tests

- Static Tests: `composer static-tests`
- Unit Tests: `composer unit-tests`
- Integration Tests: `composer integration-tests`