Browse Source

Mocked requests can #beOptional for #verify.

Herby Vojčík 6 years ago
parent
commit
da252914e5
3 changed files with 20 additions and 2 deletions
  1. 1 1
      src/Znock/Znock.class.st
  2. 6 0
      src/Znock/ZnockBase.class.st
  3. 13 1
      src/Znock/ZnockExpectation.class.st

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

@@ -41,7 +41,7 @@ Znock >> expectations [
 
 { #category : #public }
 Znock >> pendingExpectations [
-	^ self expectations copy.
+	^ self expectations reject: #isOptional
 ]
 
 { #category : #public }

+ 6 - 0
src/Znock/ZnockBase.class.st

@@ -28,6 +28,12 @@ ZnockBase >> baseUrl: aZnUrl [
 	baseUrl := aZnUrl
 ]
 
+{ #category : #public }
+ZnockBase >> beOptional [
+	self request.
+	builtClient beOptional
+]
+
 { #category : #building }
 ZnockBase >> closeState: aSymbol [
 	"self shouldBeImplemented."

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

@@ -3,11 +3,17 @@ Class {
 	#superclass : #ZnClient,
 	#instVars : [
 		'delay',
-		'customizeResponseBlock'
+		'customizeResponseBlock',
+		'isOptional'
 	],
 	#category : #Znock
 }
 
+{ #category : #operations }
+ZnockExpectation >> beOptional [
+	isOptional := true
+]
+
 { #category : #accessing }
 ZnockExpectation >> customizeResponseBlock [
 	^ customizeResponseBlock
@@ -45,6 +51,12 @@ ZnockExpectation >> initialize [
 
 	customizeResponseBlock := nil.
 	delay := nil.
+	isOptional := false.
+]
+
+{ #category : #accessing }
+ZnockExpectation >> isOptional [
+	^ isOptional
 ]
 
 { #category : #accessing }