add tests. add to many associations
This commit is contained in:
committed by
Daniel Hutzel
parent
e58ad84a2f
commit
4783a5729d
67
media-store/test/media-service.test.js
Normal file
67
media-store/test/media-service.test.js
Normal file
@@ -0,0 +1,67 @@
|
||||
const cds = require("../../test/cds");
|
||||
const { GET, expect } = cds.test("media-store").in(__dirname, "../../");
|
||||
|
||||
const {
|
||||
FIRST_EMPLOYEE,
|
||||
SECOND_EMPLOYEE_WITH_EXPANDED_FIELDS,
|
||||
ALL_ALBUMS_WITH_TRACKS_BY_ARTIST,
|
||||
CUSTOMER_WITH_THEIR_SUPPORT_REP,
|
||||
EIGHTH_ALBUM_TRACKS_COUNT,
|
||||
} = require("./data/media-service.mock");
|
||||
|
||||
describe("Media service", () => {
|
||||
it("should bootstrap the services successfully", () => {
|
||||
const { MediaService, db } = cds.services;
|
||||
const { Employees } = MediaService.entities;
|
||||
|
||||
expect(MediaService).not.to.be.undefined;
|
||||
expect(db).not.to.be.undefined;
|
||||
expect(Employees).not.to.be.undefined;
|
||||
});
|
||||
|
||||
describe("Employees", () => {
|
||||
it("should return employee (ID=1)", async () => {
|
||||
const { data } = await GET("/media/Employees(1)");
|
||||
expect(data).to.eql(FIRST_EMPLOYEE);
|
||||
});
|
||||
|
||||
it("should return employee (ID=2) with subordinates and whom he reports to", async () => {
|
||||
const { data } = await GET(
|
||||
`/media/Employees(2)?$expand=subordinates,reportsTo`
|
||||
);
|
||||
expect(data).to.eql(SECOND_EMPLOYEE_WITH_EXPANDED_FIELDS);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Albums", () => {
|
||||
it("should return all albums with tracks by artist", async () => {
|
||||
const { data } = await GET(
|
||||
`/media/Albums?$filter=artist_ID eq 1&$expand=tracks`
|
||||
);
|
||||
expect(data).to.eql(ALL_ALBUMS_WITH_TRACKS_BY_ARTIST);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Customers", () => {
|
||||
it("should return customer with their invoices", async () => {
|
||||
const { data } = await GET(`/media/Customers(1)?$expand=supportRep`);
|
||||
expect(data).to.eql(CUSTOMER_WITH_THEIR_SUPPORT_REP);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Playlists", () => {
|
||||
it("should return playlist with their tracks", async () => {
|
||||
const { data } = await GET(`/media/Customers(1)?$expand=supportRep`);
|
||||
expect(data).to.eql(CUSTOMER_WITH_THEIR_SUPPORT_REP);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Tracks", () => {
|
||||
it("should return the number of tracks by album", async () => {
|
||||
const { data } = await GET(
|
||||
`/media/PlaylistTrack/$count?$filter=playlist_ID eq 8`
|
||||
);
|
||||
expect(data).to.eql(EIGHTH_ALBUM_TRACKS_COUNT);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user