BETTERZON-89: Refactoring / Reformatting and adding unit tests (#41)

This commit is contained in:
Patrick 2021-05-10 20:11:45 +02:00 committed by GitHub
parent 08de32770d
commit 3874957d5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 72 additions and 49 deletions

View File

@ -1,18 +1,18 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {FooterComponent} from './footer.component';
import {RouterTestingModule} from "@angular/router/testing";
import {AppComponent} from "../../app.component";
import {ImprintComponent} from "../../pages/imprint/imprint.component";
import {ActivatedRoute, Router} from "@angular/router";
import {RouterTestingModule} from '@angular/router/testing';
import {AppComponent} from '../../app.component';
import {ImprintComponent} from '../../pages/imprint/imprint.component';
import {ActivatedRoute, Router} from '@angular/router';
describe('FooterComponent', () => {
let component: FooterComponent;
let fixture: ComponentFixture<FooterComponent>;
let router = {
const router = {
navigate: jasmine.createSpy('navigate'),
routerState: jasmine.createSpy('routerState')
}
};
beforeEach(async () => {
await TestBed.configureTestingModule({

View File

@ -1,21 +1,22 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {HeaderComponent} from './header.component';
import {RouterTestingModule} from "@angular/router/testing";
import {MatMenuModule} from "@angular/material/menu";
import {Router} from "@angular/router";
import {RouterTestingModule} from '@angular/router/testing';
import {MatMenuModule} from '@angular/material/menu';
import {Router} from '@angular/router';
describe('HeaderComponent', () => {
let component: HeaderComponent;
let fixture: ComponentFixture<HeaderComponent>;
let router = {
const router = {
navigate: jasmine.createSpy('navigate'),
navigateByUrl: (url: string) => {
return {
then: () => {}
}
then: () => {
}
};
}
}
};
beforeEach(async () => {
await TestBed.configureTestingModule({

View File

@ -1,18 +1,19 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {NewestPricesListComponent} from './newest-prices-list.component';
import {RouterTestingModule} from "@angular/router/testing";
import {HttpClient} from "@angular/common/http";
import {AbstractMockObservableService} from "../../mocks/mock.service";
import {ApiService} from "../../services/api.service";
import {RouterTestingModule} from '@angular/router/testing';
import {HttpClient} from '@angular/common/http';
import {AbstractMockObservableService} from '../../mocks/mock.service';
import {ApiService} from '../../services/api.service';
import {Observable} from 'rxjs';
class MockApiService extends AbstractMockObservableService {
getCurrentPricePerVendor() {
getCurrentPricePerVendor(): any {
this.content = [];
return this;
}
getVendors() {
getVendors(): any {
const vendor = {
vendor_id: 1,
name: 'Max Mustermann',

View File

@ -1,18 +1,33 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {ProductDetailsComponent} from './product-details.component';
import {RouterTestingModule} from "@angular/router/testing";
import {AbstractMockObservableService} from "../../mocks/mock.service";
import {ApiService} from "../../services/api.service";
import {ChartComponent, NgApexchartsModule} from "ng-apexcharts";
import {RouterTestingModule} from '@angular/router/testing';
import {AbstractMockObservableService} from '../../mocks/mock.service';
import {ApiService} from '../../services/api.service';
import {ChartComponent, NgApexchartsModule} from 'ng-apexcharts';
import {By} from '@angular/platform-browser';
class MockApiService extends AbstractMockObservableService {
getProduct() {
this.content = {};
getProduct(): any {
const product = {
product_id: 1,
asin: 'ASIN',
is_active: true,
name: 'Super tolles Produkt',
short_description: 'Descr',
long_description: 'Descr',
image_guid: '123',
date_added: new Date(),
last_modified: new Date(),
manufacturer_id: 1,
selling_rank: '1',
category_id: 1
};
this.content = product;
return this;
}
getLowestPrices() {
getLowestPrices(): any {
const price = {
price_id: 1,
product_id: 1,
@ -24,12 +39,12 @@ class MockApiService extends AbstractMockObservableService {
return this;
}
getAmazonPrice() {
getAmazonPrice(): any {
this.content = {};
return this;
}
getVendors() {
getVendors(): any {
const vendor = {
vendor_id: 1,
name: 'Max Mustermann',
@ -39,7 +54,7 @@ class MockApiService extends AbstractMockObservableService {
country_code: 'DE',
phone: '+49 123 4567890',
website: 'https://www.amazon.de',
}
};
this.content = [vendor];
return this;
}
@ -72,4 +87,10 @@ describe('ProductDetailsComponent', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
it('should show the product name', () => {
component.ngOnInit();
const title = fixture.debugElement.query(By.css('.productTitle'));
expect(title.nativeElement.innerText).toEqual('Super tolles Produkt');
});
});

View File

@ -1,20 +1,20 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {ProductListComponent} from './product-list.component';
import {FooterComponent} from "../footer/footer.component";
import {HeaderComponent} from "../header/header.component";
import {RouterTestingModule} from "@angular/router/testing";
import {ApiService} from "../../services/api.service";
import {AbstractMockObservableService} from "../../mocks/mock.service";
import {Router} from "@angular/router";
import {FooterComponent} from '../footer/footer.component';
import {HeaderComponent} from '../header/header.component';
import {RouterTestingModule} from '@angular/router/testing';
import {ApiService} from '../../services/api.service';
import {AbstractMockObservableService} from '../../mocks/mock.service';
import {Router} from '@angular/router';
class MockApiService extends AbstractMockObservableService {
getProducts() {
getProducts(): any {
this.content = [];
return this;
}
getProductsByQuery() {
getProductsByQuery(): any {
this.content = [];
return this;
}
@ -24,10 +24,10 @@ describe('ProductListComponent', () => {
let component: ProductListComponent;
let fixture: ComponentFixture<ProductListComponent>;
let mockService;
let router = {
const router = {
navigate: jasmine.createSpy('navigate'),
routerState: jasmine.createSpy('routerState')
}
};
beforeEach(async () => {
mockService = new MockApiService();
@ -71,7 +71,7 @@ describe('ProductListComponent', () => {
manufacturer_id: 1,
selling_rank: '1',
category_id: 1
}
};
component.clickedProduct(product);
expect(router.navigate).toHaveBeenCalledWith(['/product/1']);

View File

@ -1,16 +1,16 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {LandingpageComponent} from './landingpage.component';
import {RouterTestingModule} from "@angular/router/testing";
import {Router} from "@angular/router";
import {RouterTestingModule} from '@angular/router/testing';
import {Router} from '@angular/router';
describe('LandingpageComponent', () => {
let component: LandingpageComponent;
let fixture: ComponentFixture<LandingpageComponent>;
let router = {
const router = {
navigate: jasmine.createSpy('navigate'),
routerState: jasmine.createSpy('routerState')
}
};
beforeEach(async () => {
await TestBed.configureTestingModule({

View File

@ -1,7 +1,7 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {ProductDetailPageComponent} from './product-detail-page.component';
import {RouterTestingModule} from "@angular/router/testing";
import {RouterTestingModule} from '@angular/router/testing';
describe('ProductDetailPageComponent', () => {
let component: ProductDetailPageComponent;

View File

@ -1,10 +1,10 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {ProductSearchPageComponent} from './product-search-page.component';
import {HeaderComponent} from "../../components/header/header.component";
import {FooterComponent} from "../../components/footer/footer.component";
import {ProductListComponent} from "../../components/product-list/product-list.component";
import {RouterTestingModule} from "@angular/router/testing";
import {HeaderComponent} from '../../components/header/header.component';
import {FooterComponent} from '../../components/footer/footer.component';
import {ProductListComponent} from '../../components/product-list/product-list.component';
import {RouterTestingModule} from '@angular/router/testing';
describe('ProductSearchPageComponent', () => {
let component: ProductSearchPageComponent;