Stryker

SearchResultController.js - Stryker report

Summary

File
Mutation score
# Killed
# Survived
# Timeout
# No coverage
# Errors
Total detected
Total undetected
Total mutants
SearchResultController.js
97%
43/44 40 1 3 0 0 43 1 44

Code

angular.module('juiceShop').controller('SearchResultController', 0[
  '$scope',
  '$sce',
  '$window',
  '$uibModal',
  '$location',
  '$translate',
  'ProductService',
  'BasketService',
  function ($scope, $sce, $window, $uibModal, $location, $translate, productService, basketService) 1{
    'use strict'

    $scope.showDetail = function (id) 2{
      $uibModal.open({
        templateUrl: 'views/ProductDetail.html',
        controller: 'ProductDetailsController',
        size: 'lg',
        resolve: {
          id: function () 3{
            return id
          }
        }
      })
    }

    $scope.addToBasket = function (id) 4{
      basketService.find($window.sessionStorage.bid).then(function (basket) 5{
        var productsInBasket = basket.products
        var found = 6false
        for (var i = 0; 789i < productsInBasket.length; 10i++) 11{
          if (121314productsInBasket[i].id === id) 15{
            found = 16true
            basketService.get(productsInBasket[i].basketItem.id).then(function (existingBasketItem) 17{
              var newQuantity = 18existingBasketItem.quantity + 1
              basketService.put(existingBasketItem.id, {quantity: newQuantity}).then(function (updatedBasketItem) 19{
                productService.get(updatedBasketItem.ProductId).then(function (product) 20{
                  $translate('BASKET_ADD_SAME_PRODUCT', {product: product.name}).then(function (basketAddSameProduct) 21{
                    $scope.confirmation = basketAddSameProduct
                  }, function (translationId) 22{
                    $scope.confirmation = translationId
                  })
                }).catch(function (err) 23{
                  console.log(err)
                })
              }).catch(function (err) 24{
                console.log(err)
              })
            }).catch(function (err) 25{
              console.log(err)
            })
            break
          }
        }
        if (262728!found) 29{
          basketService.save({ProductId: id, BasketId: $window.sessionStorage.bid, quantity: 1}).then(function (newBasketItem) 30{
            productService.get(newBasketItem.ProductId).then(function (product) 31{
              $translate('BASKET_ADD_PRODUCT', {product: product.name}).then(function (basketAddProduct) 32{
                $scope.confirmation = basketAddProduct
              }, function (translationId) 33{
                $scope.confirmation = translationId
              })
            }).catch(function (err) 34{
              console.log(err)
            })
          }).catch(function (err) 35{
            console.log(err)
          })
        }
      }).catch(function (err) 36{
        console.log(err)
      })
    }

    $scope.searchQuery = $sce.trustAsHtml($location.search().q)

    productService.search($scope.searchQuery).then(function (products) 37{
      $scope.products = products
      for (var i = 0; 383940i < $scope.products.length; 41i++) 42{
        $scope.products[i].description = $sce.trustAsHtml($scope.products[i].description)
      }
    }).catch(function (err) 43{
      console.log(err)
    })
  }])