@@ -31,6 +31,49 @@ class PrePaidSummitRegistrationDiscountCodeAuditLogFormatterTest extends TestCas
3131 private const MOCK_ID = 1 ;
3232 private const SUMMIT_NAME = 'Test Summit ' ;
3333
34+ private const DISCOUNT_CODE_RATE_EARLY = 'EARLY2024 ' ;
35+ private const DISCOUNT_CODE_AMOUNT = 'DISCOUNT25 ' ;
36+ private const DISCOUNT_CODE_UPDATE = 'SUMMER24 ' ;
37+ private const DISCOUNT_CODE_DELETE = 'VIP2024 ' ;
38+ private const DISCOUNT_CODE_EXPIRED = 'EXPIRED ' ;
39+
40+ private const RATE_EARLY = 15 ;
41+ private const RATE_UPDATE_OLD = 15 ;
42+ private const RATE_UPDATE_NEW = 20 ;
43+ private const RATE_HIGH = 50 ;
44+ private const RATE_EXPIRED = 10 ;
45+
46+ private const AMOUNT_DISCOUNT = 25.00 ;
47+ private const AMOUNT_ZERO = 0 ;
48+
49+ private const QUANTITY_EARLY = 50 ;
50+ private const QUANTITY_AMOUNT = 100 ;
51+ private const QUANTITY_UPDATE_OLD = 100 ;
52+ private const QUANTITY_UPDATE_NEW = 75 ;
53+ private const QUANTITY_HIGH = 10 ;
54+ private const QUANTITY_NONE = 0 ;
55+
56+ private const CREATOR_FIRST_1 = 'Alice ' ;
57+ private const CREATOR_LAST_1 = 'Brown ' ;
58+ private const CREATOR_FIRST_2 = 'Bob ' ;
59+ private const CREATOR_LAST_2 = 'Davis ' ;
60+ private const CREATOR_FIRST_3 = 'Carol ' ;
61+ private const CREATOR_LAST_3 = 'Evans ' ;
62+ private const CREATOR_FIRST_4 = 'David ' ;
63+ private const CREATOR_LAST_4 = 'Frank ' ;
64+ private const CREATOR_FIRST_5 = 'Eve ' ;
65+ private const CREATOR_LAST_5 = 'Green ' ;
66+
67+ private const EVENT_CREATED = 'created ' ;
68+ private const EVENT_UPDATED = 'updated ' ;
69+ private const EVENT_DELETED = 'deleted ' ;
70+ private const EVENT_CURRENT = 'current: ' ;
71+
72+ private const EXPECTED_RATE_FORMAT = 'rate: %.2f%% ' ;
73+ private const EXPECTED_AMOUNT_FORMAT = 'amount: $%.2f ' ;
74+ private const EXPECTED_QUANTITY_FORMAT = 'quantity: %d ' ;
75+ private const EXPECTED_ID_FORMAT = '(%d) ' ;
76+
3477 private PrePaidSummitRegistrationDiscountCodeAuditLogFormatter $ formatter_creation ;
3578 private PrePaidSummitRegistrationDiscountCodeAuditLogFormatter $ formatter_update ;
3679 private PrePaidSummitRegistrationDiscountCodeAuditLogFormatter $ formatter_deletion ;
@@ -60,71 +103,121 @@ protected function tearDown(): void
60103
61104 public function testFormatCreationEventWithRate (): void
62105 {
63- $ code = $ this ->createMockCode ('EARLY2024 ' , 0.15 , 0 , 50 , true , 'Alice ' , 'Brown ' );
106+ $ code = $ this ->createMockCode (
107+ self ::DISCOUNT_CODE_RATE_EARLY ,
108+ self ::RATE_EARLY ,
109+ self ::AMOUNT_ZERO ,
110+ self ::QUANTITY_EARLY ,
111+ true ,
112+ self ::CREATOR_FIRST_1 ,
113+ self ::CREATOR_LAST_1
114+ );
64115
65116 $ this ->formatter_creation ->setContext ($ this ->audit_context );
66117 $ result = $ this ->formatter_creation ->format ($ code , []);
67118
68119 $ this ->assertNotNull ($ result );
69- $ this ->assertStringContainsString ("EARLY2024 " , $ result );
70- $ this ->assertStringContainsString ("(1) " , $ result );
71- $ this ->assertStringContainsString ("created " , $ result );
72- $ this ->assertStringContainsString ("Test Summit " , $ result );
120+ $ this ->assertStringContainsString (self ::DISCOUNT_CODE_RATE_EARLY , $ result );
121+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_ID_FORMAT , self ::MOCK_ID ), $ result );
122+ $ this ->assertStringContainsString (self ::EVENT_CREATED , $ result );
123+ $ this ->assertStringContainsString (self ::SUMMIT_NAME , $ result );
124+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_RATE_FORMAT , self ::RATE_EARLY ), $ result );
125+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_QUANTITY_FORMAT , self ::QUANTITY_EARLY ), $ result );
73126 }
74127
75128 public function testFormatCreationEventWithAmount (): void
76129 {
77- $ code = $ this ->createMockCode ('DISCOUNT25 ' , 0 , 25.00 , 100 , true , 'Bob ' , 'Davis ' );
130+ $ code = $ this ->createMockCode (
131+ self ::DISCOUNT_CODE_AMOUNT ,
132+ self ::AMOUNT_ZERO ,
133+ self ::AMOUNT_DISCOUNT ,
134+ self ::QUANTITY_AMOUNT ,
135+ true ,
136+ self ::CREATOR_FIRST_2 ,
137+ self ::CREATOR_LAST_2
138+ );
78139
79140 $ this ->formatter_creation ->setContext ($ this ->audit_context );
80141 $ result = $ this ->formatter_creation ->format ($ code , []);
81142
82143 $ this ->assertNotNull ($ result );
83- $ this ->assertStringContainsString ("DISCOUNT25 " , $ result );
84- $ this ->assertStringContainsString ("(1) " , $ result );
85- $ this ->assertStringContainsString ("created " , $ result );
144+ $ this ->assertStringContainsString (self ::DISCOUNT_CODE_AMOUNT , $ result );
145+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_ID_FORMAT , self ::MOCK_ID ), $ result );
146+ $ this ->assertStringContainsString (self ::EVENT_CREATED , $ result );
147+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_AMOUNT_FORMAT , self ::AMOUNT_DISCOUNT ), $ result );
148+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_QUANTITY_FORMAT , self ::QUANTITY_AMOUNT ), $ result );
86149 }
87150
88151 public function testFormatUpdateEvent (): void
89152 {
90- $ code = $ this ->createMockCode ('SUMMER24 ' , 0.20 , 0 , 75 , true , 'Carol ' , 'Evans ' );
153+ $ code = $ this ->createMockCode (
154+ self ::DISCOUNT_CODE_UPDATE ,
155+ self ::RATE_UPDATE_NEW ,
156+ self ::AMOUNT_ZERO ,
157+ self ::QUANTITY_UPDATE_NEW ,
158+ true ,
159+ self ::CREATOR_FIRST_3 ,
160+ self ::CREATOR_LAST_3
161+ );
91162
92163 $ this ->formatter_update ->setContext ($ this ->audit_context );
93164 $ result = $ this ->formatter_update ->format ($ code , [
94- 'rate ' => [0.15 , 0.20 ],
95- 'quantity_available ' => [100 , 75 ]
165+ 'rate ' => [self :: RATE_UPDATE_OLD , self :: RATE_UPDATE_NEW ],
166+ 'quantity_available ' => [self :: QUANTITY_UPDATE_OLD , self :: QUANTITY_UPDATE_NEW ]
96167 ]);
97168
98169 $ this ->assertNotNull ($ result );
99- $ this ->assertStringContainsString ("SUMMER24 " , $ result );
100- $ this ->assertStringContainsString ("(1) " , $ result );
101- $ this ->assertStringContainsString ("updated " , $ result );
170+ $ this ->assertStringContainsString (self ::DISCOUNT_CODE_UPDATE , $ result );
171+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_ID_FORMAT , self ::MOCK_ID ), $ result );
172+ $ this ->assertStringContainsString (self ::EVENT_UPDATED , $ result );
173+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_RATE_FORMAT , self ::RATE_UPDATE_NEW ), $ result );
174+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_QUANTITY_FORMAT , self ::QUANTITY_UPDATE_NEW ), $ result );
175+ $ this ->assertStringContainsString (self ::EVENT_CURRENT , $ result );
102176 }
103177
104178 public function testFormatDeletionEvent (): void
105179 {
106- $ code = $ this ->createMockCode ('VIP2024 ' , 0.50 , 0 , 10 , false , 'David ' , 'Frank ' );
180+ $ code = $ this ->createMockCode (
181+ self ::DISCOUNT_CODE_DELETE ,
182+ self ::RATE_HIGH ,
183+ self ::AMOUNT_ZERO ,
184+ self ::QUANTITY_HIGH ,
185+ false ,
186+ self ::CREATOR_FIRST_4 ,
187+ self ::CREATOR_LAST_4
188+ );
107189
108190 $ this ->formatter_deletion ->setContext ($ this ->audit_context );
109191 $ result = $ this ->formatter_deletion ->format ($ code , []);
110192
111193 $ this ->assertNotNull ($ result );
112- $ this ->assertStringContainsString ("VIP2024 " , $ result );
113- $ this ->assertStringContainsString ("(1) " , $ result );
114- $ this ->assertStringContainsString ("deleted " , $ result );
194+ $ this ->assertStringContainsString (self ::DISCOUNT_CODE_DELETE , $ result );
195+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_ID_FORMAT , self ::MOCK_ID ), $ result );
196+ $ this ->assertStringContainsString (self ::EVENT_DELETED , $ result );
197+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_RATE_FORMAT , self ::RATE_HIGH ), $ result );
198+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_QUANTITY_FORMAT , self ::QUANTITY_HIGH ), $ result );
115199 }
116200
117201 public function testFormatInactiveCode (): void
118202 {
119- $ code = $ this ->createMockCode ('EXPIRED ' , 0.10 , 0 , 0 , false , 'Eve ' , 'Green ' );
203+ $ code = $ this ->createMockCode (
204+ self ::DISCOUNT_CODE_EXPIRED ,
205+ self ::RATE_EXPIRED ,
206+ self ::AMOUNT_ZERO ,
207+ self ::QUANTITY_NONE ,
208+ false ,
209+ self ::CREATOR_FIRST_5 ,
210+ self ::CREATOR_LAST_5
211+ );
120212
121213 $ this ->formatter_creation ->setContext ($ this ->audit_context );
122214 $ result = $ this ->formatter_creation ->format ($ code , []);
123215
124216 $ this ->assertNotNull ($ result );
125- $ this ->assertStringContainsString ("EXPIRED " , $ result );
126- $ this ->assertStringContainsString ("(1) " , $ result );
127- $ this ->assertStringContainsString ("created " , $ result );
217+ $ this ->assertStringContainsString (self ::DISCOUNT_CODE_EXPIRED , $ result );
218+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_ID_FORMAT , self ::MOCK_ID ), $ result );
219+ $ this ->assertStringContainsString (self ::EVENT_CREATED , $ result );
220+ $ this ->assertStringContainsString (sprintf (self ::EXPECTED_RATE_FORMAT , self ::RATE_EXPIRED ), $ result );
128221 }
129222
130223 public function testFormatInvalidSubject (): void
0 commit comments