Quellcode durchsuchen

Customize response from request.

Herby Vojčík vor 6 Jahren
Ursprung
Commit
98f3d5db7c
2 geänderte Dateien mit 19 neuen und 1 gelöschten Zeilen
  1. 1 0
      src/Znock/ZnockClient.class.st
  2. 18 1
      src/Znock/ZnockExpectation.class.st

+ 1 - 0
src/Znock/ZnockClient.class.st

@@ -34,6 +34,7 @@ ZnockClient >> getConnectionAndExecute [
 	| expectation |
 	expectation := interceptor consumeExpectationFor: self.
 	expectation ifNil: [ ^ super executeRequestResponse ].
+	expectation customizeResponseFromRequest: request.
 	expectation delay ifNotNil: [ :delay | self fakeDelay: delay ].
 	self fakeResponse: expectation response.
 	^ response contents

+ 18 - 1
src/Znock/ZnockExpectation.class.st

@@ -2,11 +2,27 @@ Class {
 	#name : #ZnockExpectation,
 	#superclass : #ZnClient,
 	#instVars : [
-		'delay'
+		'delay',
+		'customizeResponseBlock'
 	],
 	#category : #Znock
 }
 
+{ #category : #accessing }
+ZnockExpectation >> customizeResponseBlock [
+	^ customizeResponseBlock
+]
+
+{ #category : #accessing }
+ZnockExpectation >> customizeResponseBlock: anObject [
+	customizeResponseBlock := anObject
+]
+
+{ #category : #operations }
+ZnockExpectation >> customizeResponseFromRequest: aZnRequest [
+	customizeResponseBlock ifNotNil: [ customizeResponseBlock value: aZnRequest value: response ]
+]
+
 { #category : #accessing }
 ZnockExpectation >> delay [
 	^ delay
@@ -27,6 +43,7 @@ ZnockExpectation >> initialize [
 
 	super initialize.
 
+	customizeResponseBlock := nil.
 	delay := nil.
 ]