text: describe('AppleTV2', () => {
    let sud;
  
    beforeAll(() => {
      jasmine.addSpyStrategy('returnAsyncValue', (value) => {
        return (...args) => {
          console.log('mock was called with these args:', args);
  
          return Promise.resolve(value);
        }
      });
  
      subscriptionServiceMock = jasmine.createSpyObj(['notifyApple', 'getPrograms']);
    });
  
    beforeEach(() => {
      sud = new AppleTV2(subscriptionServiceMock);
    });
  
    it('should contain a program by the program model', async() => {
  
      subscriptionServiceMock.getPrograms
        .withArgs('my apple ID').and.returnAsyncValue([
          { id: 123, nm: 'name A', dscr: 'description A', rating: 1 },
          { id: 345, nm: 'name B', dscr: 'description B', rating: 2 },
        ]);
  
      const actual = await sud.showPrograms();
  
      expect(actual).toContain(jasmine.objectContaining({ programId: 123 }));
    });
  });
  