CI: Migrate Sonar Scan job to GHA
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / services / ui / notification.service.spec.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 AT&T Intellectual Property
6  * %%
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ========================LICENSE_END===================================
19  */
20
21 import { async, TestBed } from "@angular/core/testing";
22
23 import { NotificationService } from "./notification.service";
24 import { ToastrService } from "ngx-toastr";
25
26 describe("NotificationService", () => {
27   let service: NotificationService;
28   let toastrSpy: jasmine.SpyObj<ToastrService>;
29
30   beforeEach(async(() => {
31     toastrSpy = jasmine.createSpyObj("ToastrService", [
32       "success",
33       "warning",
34       "error",
35     ]);
36
37     TestBed.configureTestingModule({
38       providers: [{ provide: ToastrService, useValue: toastrSpy }],
39     });
40     service = TestBed.inject(NotificationService);
41   }));
42
43   it("should be created", () => {
44     expect(service).toBeTruthy();
45   });
46
47   it("should open success with provided message and correct configuration", () => {
48     service.success("Success!");
49
50     expect(toastrSpy.success).toHaveBeenCalledWith("Success!", "", {
51       timeOut: 10000,
52       closeButton: true,
53     });
54   });
55
56   it("should open error with provided message and correct configuration", () => {
57     service.error("Error!");
58
59     expect(toastrSpy.error).toHaveBeenCalledWith("Error!", "", {
60       disableTimeOut: true,
61       closeButton: true,
62     });
63   });
64 });