@@ -15,6 +15,13 @@ namespace AzureOpenAIProxy.ApiApp.Tests.Services;
15
15
16
16
public class AdminEventServiceTests
17
17
{
18
+ private readonly IAdminEventRepository mockRepository ;
19
+
20
+ public AdminEventServiceTests ( )
21
+ {
22
+ mockRepository = Substitute . For < IAdminEventRepository > ( ) ;
23
+ }
24
+
18
25
[ Fact ]
19
26
public void Given_ServiceCollection_When_AddAdminEventService_Invoked_Then_It_Should_Contain_AdminEventService ( )
20
27
{
@@ -33,8 +40,7 @@ public void Given_Instance_When_CreateEvent_Invoked_Then_It_Should_Throw_Excepti
33
40
{
34
41
// Arrange
35
42
var eventDetails = new AdminEventDetails ( ) ;
36
- var repository = Substitute . For < IAdminEventRepository > ( ) ;
37
- var service = new AdminEventService ( repository ) ;
43
+ var service = new AdminEventService ( mockRepository ) ;
38
44
39
45
// Act
40
46
Func < Task > func = async ( ) => await service . CreateEvent ( eventDetails ) ;
@@ -47,8 +53,7 @@ public void Given_Instance_When_CreateEvent_Invoked_Then_It_Should_Throw_Excepti
47
53
public void Given_Instance_When_GetEvents_Invoked_Then_It_Should_Throw_Exception ( )
48
54
{
49
55
// Arrange
50
- var repository = Substitute . For < IAdminEventRepository > ( ) ;
51
- var service = new AdminEventService ( repository ) ;
56
+ var service = new AdminEventService ( mockRepository ) ;
52
57
53
58
// Act
54
59
Func < Task > func = async ( ) => await service . GetEvents ( ) ;
@@ -65,12 +70,11 @@ public async Task Given_Failure_In_Get_Entity_When_GetEvent_Invoked_Then_It_Shou
65
70
{
66
71
// Arrange
67
72
var eventId = Guid . NewGuid ( ) ;
68
- var repository = Substitute . For < IAdminEventRepository > ( ) ;
69
- var service = new AdminEventService ( repository ) ;
73
+ var service = new AdminEventService ( mockRepository ) ;
70
74
71
75
var exception = new RequestFailedException ( statusCode , "Request Failed" , default , default ) ;
72
76
73
- repository . GetEvent ( Arg . Any < Guid > ( ) ) . ThrowsAsync ( exception ) ;
77
+ mockRepository . GetEvent ( Arg . Any < Guid > ( ) ) . ThrowsAsync ( exception ) ;
74
78
75
79
// Act
76
80
Func < Task > func = ( ) => service . GetEvent ( eventId ) ;
@@ -85,8 +89,7 @@ public async Task Given_Failure_In_Get_Entity_When_GetEvent_Invoked_Then_It_Shou
85
89
public async Task Given_Exist_EventId_When_GetEvent_Invoked_Then_It_Should_Return_AdminEventDetails ( string eventId )
86
90
{
87
91
// Arrange
88
- var repository = Substitute . For < IAdminEventRepository > ( ) ;
89
- var service = new AdminEventService ( repository ) ;
92
+ var service = new AdminEventService ( mockRepository ) ;
90
93
91
94
var eventDetails = new AdminEventDetails
92
95
{
@@ -95,7 +98,7 @@ public async Task Given_Exist_EventId_When_GetEvent_Invoked_Then_It_Should_Retur
95
98
96
99
var guid = Guid . Parse ( eventId ) ;
97
100
98
- repository . GetEvent ( guid ) . Returns ( Task . FromResult ( eventDetails ) ) ;
101
+ mockRepository . GetEvent ( guid ) . Returns ( Task . FromResult ( eventDetails ) ) ;
99
102
100
103
// Act
101
104
var result = await service . GetEvent ( guid ) ;
@@ -105,18 +108,37 @@ public async Task Given_Exist_EventId_When_GetEvent_Invoked_Then_It_Should_Retur
105
108
}
106
109
107
110
[ Fact ]
108
- public void Given_Instance_When_UpdateEvent_Invoked_Then_It_Should_Throw_Exception ( )
111
+ public async Task Given_Instance_When_UpdateEvent_Invoked_Then_It_Should_Return_Updated_Event_Details ( )
109
112
{
110
113
// Arrange
111
114
var eventId = Guid . NewGuid ( ) ;
112
115
var eventDetails = new AdminEventDetails ( ) ;
113
- var repository = Substitute . For < IAdminEventRepository > ( ) ;
114
- var service = new AdminEventService ( repository ) ;
116
+ var service = new AdminEventService ( mockRepository ) ;
117
+
118
+ mockRepository . UpdateEvent ( eventId , eventDetails ) . Returns ( eventDetails ) ;
115
119
116
120
// Act
117
- Func < Task > func = async ( ) => await service . UpdateEvent ( eventId , eventDetails ) ;
121
+ var updatedEventDetails = await service . UpdateEvent ( eventId , eventDetails ) ;
118
122
119
123
// Assert
120
- func . Should ( ) . ThrowAsync < NotImplementedException > ( ) ;
124
+ updatedEventDetails . Should ( ) . BeEquivalentTo ( eventDetails ) ;
125
+ }
126
+
127
+ [ Fact ]
128
+ public async Task Given_Instance_When_DeleteEvent_Invoked_Then_It_Should_Return_Deleted_Event_Id ( )
129
+ {
130
+ // Arrange
131
+ var eventId = Guid . NewGuid ( ) ;
132
+ var eventDetails = new AdminEventDetails ( ) ;
133
+ var service = new AdminEventService ( mockRepository ) ;
134
+
135
+ eventDetails . EventId = eventId ;
136
+ mockRepository . DeleteEvent ( eventDetails ) . Returns ( eventDetails . EventId ) ;
137
+
138
+ // Act
139
+ var deletedEventId = await service . DeleteEvent ( eventDetails ) ;
140
+
141
+ // Assert
142
+ deletedEventId . Should ( ) . Be ( eventId ) ;
121
143
}
122
144
}
0 commit comments