115 lines
4.5 KiB
TypeScript
115 lines
4.5 KiB
TypeScript
/* tslint:disable max-line-length */
|
|
import { getTestBed, TestBed } from '@angular/core/testing';
|
|
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
|
|
import { map, take } from 'rxjs/operators';
|
|
import { CustomerService } from 'app/entities/customer/customer.service';
|
|
import { Customer, ICustomer } from 'app/shared/model/customer.model';
|
|
|
|
describe('Service Tests', () => {
|
|
describe('Customer Service', () => {
|
|
let injector: TestBed;
|
|
let service: CustomerService;
|
|
let httpMock: HttpTestingController;
|
|
let elemDefault: ICustomer;
|
|
beforeEach(() => {
|
|
TestBed.configureTestingModule({
|
|
imports: [HttpClientTestingModule]
|
|
});
|
|
injector = getTestBed();
|
|
service = injector.get(CustomerService);
|
|
httpMock = injector.get(HttpTestingController);
|
|
|
|
elemDefault = new Customer(0, 0, 'AAAAAAA', 'AAAAAAA', 'AAAAAAA', 'AAAAAAA', 'AAAAAAA', 'AAAAAAA');
|
|
});
|
|
|
|
describe('Service methods', async () => {
|
|
it('should find an element', async () => {
|
|
const returnedFromService = Object.assign({}, elemDefault);
|
|
service
|
|
.find(123)
|
|
.pipe(take(1))
|
|
.subscribe(resp => expect(resp).toMatchObject({ body: elemDefault }));
|
|
|
|
const req = httpMock.expectOne({ method: 'GET' });
|
|
req.flush(JSON.stringify(returnedFromService));
|
|
});
|
|
|
|
it('should create a Customer', async () => {
|
|
const returnedFromService = Object.assign(
|
|
{
|
|
id: 0
|
|
},
|
|
elemDefault
|
|
);
|
|
const expected = Object.assign({}, returnedFromService);
|
|
service
|
|
.create(new Customer(null))
|
|
.pipe(take(1))
|
|
.subscribe(resp => expect(resp).toMatchObject({ body: expected }));
|
|
const req = httpMock.expectOne({ method: 'POST' });
|
|
req.flush(JSON.stringify(returnedFromService));
|
|
});
|
|
|
|
it('should update a Customer', async () => {
|
|
const returnedFromService = Object.assign(
|
|
{
|
|
number: 1,
|
|
prefix: 'BBBBBB',
|
|
name: 'BBBBBB',
|
|
contractualAddress: 'BBBBBB',
|
|
contractualSalutation: 'BBBBBB',
|
|
billingAddress: 'BBBBBB',
|
|
billingSalutation: 'BBBBBB'
|
|
},
|
|
elemDefault
|
|
);
|
|
|
|
const expected = Object.assign({}, returnedFromService);
|
|
service
|
|
.update(expected)
|
|
.pipe(take(1))
|
|
.subscribe(resp => expect(resp).toMatchObject({ body: expected }));
|
|
const req = httpMock.expectOne({ method: 'PUT' });
|
|
req.flush(JSON.stringify(returnedFromService));
|
|
});
|
|
|
|
it('should return a list of Customer', async () => {
|
|
const returnedFromService = Object.assign(
|
|
{
|
|
number: 1,
|
|
prefix: 'BBBBBB',
|
|
name: 'BBBBBB',
|
|
contractualAddress: 'BBBBBB',
|
|
contractualSalutation: 'BBBBBB',
|
|
billingAddress: 'BBBBBB',
|
|
billingSalutation: 'BBBBBB'
|
|
},
|
|
elemDefault
|
|
);
|
|
const expected = Object.assign({}, returnedFromService);
|
|
service
|
|
.query(expected)
|
|
.pipe(
|
|
take(1),
|
|
map(resp => resp.body)
|
|
)
|
|
.subscribe(body => expect(body).toContainEqual(expected));
|
|
const req = httpMock.expectOne({ method: 'GET' });
|
|
req.flush(JSON.stringify([returnedFromService]));
|
|
httpMock.verify();
|
|
});
|
|
|
|
it('should delete a Customer', async () => {
|
|
const rxPromise = service.delete(123).subscribe(resp => expect(resp.ok));
|
|
|
|
const req = httpMock.expectOne({ method: 'DELETE' });
|
|
req.flush({ status: 200 });
|
|
});
|
|
});
|
|
|
|
afterEach(() => {
|
|
httpMock.verify();
|
|
});
|
|
});
|
|
});
|