@@ -5,6 +5,7 @@ import { ExternalSourceEntry } from '../shared/external-source-entry.model';
55import { of as observableOf } from 'rxjs' ;
66import { GetRequest } from './request.models' ;
77import { testSearchDataImplementation } from './base/search-data.spec' ;
8+ import { take } from 'rxjs/operators' ;
89
910describe ( 'ExternalSourceService' , ( ) => {
1011 let service : ExternalSourceDataService ;
@@ -64,19 +65,42 @@ describe('ExternalSourceService', () => {
6465 } ) ;
6566
6667 describe ( 'getExternalSourceEntries' , ( ) => {
67- let result ;
6868
69- beforeEach ( ( ) => {
70- result = service . getExternalSourceEntries ( 'test' ) ;
71- } ) ;
69+ describe ( 'when no error response is cached' , ( ) => {
70+ let result ;
71+ beforeEach ( ( ) => {
72+ spyOn ( service , 'hasCachedErrorResponse' ) . and . returnValue ( observableOf ( false ) ) ;
73+ result = service . getExternalSourceEntries ( 'test' ) ;
74+ } ) ;
7275
73- it ( 'should send a GetRequest' , ( ) => {
74- expect ( requestService . send ) . toHaveBeenCalledWith ( jasmine . any ( GetRequest ) , true ) ;
76+ it ( 'should send a GetRequest' , ( ) => {
77+ result . pipe ( take ( 1 ) ) . subscribe ( ) ;
78+ expect ( requestService . send ) . toHaveBeenCalledWith ( jasmine . any ( GetRequest ) , true ) ;
79+ } ) ;
80+
81+ it ( 'should return the entries' , ( ) => {
82+ result . subscribe ( ( resultRD ) => {
83+ expect ( resultRD . payload . page ) . toBe ( entries ) ;
84+ } ) ;
85+ } ) ;
7586 } ) ;
7687
77- it ( 'should return the entries' , ( ) => {
78- result . subscribe ( ( resultRD ) => {
79- expect ( resultRD . payload . page ) . toBe ( entries ) ;
88+ describe ( 'when an error response is cached' , ( ) => {
89+ let result ;
90+ beforeEach ( ( ) => {
91+ spyOn ( service , 'hasCachedErrorResponse' ) . and . returnValue ( observableOf ( true ) ) ;
92+ result = service . getExternalSourceEntries ( 'test' ) ;
93+ } ) ;
94+
95+ it ( 'should send a GetRequest' , ( ) => {
96+ result . pipe ( take ( 1 ) ) . subscribe ( ) ;
97+ expect ( requestService . send ) . toHaveBeenCalledWith ( jasmine . any ( GetRequest ) , false ) ;
98+ } ) ;
99+
100+ it ( 'should return the entries' , ( ) => {
101+ result . subscribe ( ( resultRD ) => {
102+ expect ( resultRD . payload . page ) . toBe ( entries ) ;
103+ } ) ;
80104 } ) ;
81105 } ) ;
82106 } ) ;
0 commit comments