#!/usr/bin/env bash

set -eux -o pipefail

function testBazel() {
  # Set up
  bazel version
  ng version
  rm -rf demo
  # Create project
  ng new demo --collection=@angular/bazel --defaults --skip-git --style=scss
  node replace_angular_repo.js "./demo/WORKSPACE"
  cd demo
  yarn add @angular/bazel@file:../../../dist/packages-dist/bazel
  yarn webdriver-manager update --gecko=false --standalone=false $CI_CHROMEDRIVER_VERSION_ARG
  cp ../package.json.replace ./package.json
  ng generate component widget --style=css
  ng build
  ng test
  ng e2e
}

function testNonBazel() {
  # Replace angular.json that uses Bazel builder with the default generated by CLI
  mv ./angular.json.bak ./angular.json
  rm -rf dist src/main.dev.ts src/main.prod.ts
  ng build --progress=false
  ng test --progress=false --watch=false
  ng e2e --configuration=production --webdriver-update=false
}

testBazel
testNonBazel
