1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| import { AnimalService } from "./AnimalService";
| import { Animal } from "../Models/Animal";
| import { delay } from "./Delayer";
| import {AnimalNotificationRequest} from "../Models/AnimalNotificationRequest";
|
|
| export default class AnimalFakeService implements AnimalService {
|
| public async create(): Promise<string> {
| console.log("AnimalFakeService: create() was called!");
| return delay(() => "fake-animal-id");
| }
|
| public async getAllAdoptable(): Promise<Animal[]> {
| return delay(() => ([
| {
| animalId: "a1",
| animalName: "Dog 1",
| breed: "Shepherd",
| shelterId: "s1",
| adoptable: true,
| weight: 100,
| approximateSize: "L",
| residencyRequired: "HOUSE",
| squareFootageOfHome: 800,
| childSafe: true,
| otherDogSafe: true,
| photoUrl: ""
| },
| {
| animalId: "a1",
| animalName: "Dog 1",
| breed: "Shepherd",
| shelterId: "s1",
| adoptable: true,
| weight: 100,
| approximateSize: "L",
| residencyRequired: "HOUSE",
| squareFootageOfHome: 800,
| childSafe: true,
| otherDogSafe: true,
| photoUrl: ""
| },
| {
| animalId: "a1",
| animalName: "Dog 1",
| breed: "Shepherd",
| shelterId: "s1",
| adoptable: true,
| weight: 100,
| approximateSize: "L",
| residencyRequired: "HOUSE",
| squareFootageOfHome: 800,
| childSafe: true,
| otherDogSafe: true,
| photoUrl: ""
| },
| {
| animalId: "a1",
| animalName: "Dog 1",
| breed: "Shepherd",
| shelterId: "s1",
| adoptable: true,
| weight: 100,
| approximateSize: "L",
| residencyRequired: "HOUSE",
| squareFootageOfHome: 800,
| childSafe: true,
| otherDogSafe: true,
| photoUrl: ""
| }
| ]));
| }
|
| public async subscribeNotifications(animalNotificationRequest: AnimalNotificationRequest): Promise<void> {
| console.log("AnimalFakeService.subscribeNotifications", animalNotificationRequest);
| }
|
| public async getById(): Promise<Animal> {
| return delay(() => ({
| animalId: "a1",
| animalName: "Dog 1",
| breed: "Shepherd",
| shelterId: "s1",
| adoptable: true,
| weight: 100,
| approximateSize: "L",
| residencyRequired: "HOUSE",
| squareFootageOfHome: 800,
| childSafe: true,
| otherDogSafe: true,
| photoUrl: ""
| }));
| }
|
| }
|
|