11using SeleniumTests . lib . helpers ;
2+ using SeleniumTests . lib . models ;
23
34namespace SeleniumTests . tests ;
45
6+ [ TestFixture ]
57public class ApiBookStoreTests
68{
9+ private BookStoreClient _client = null ! ;
10+
11+ [ SetUp ]
12+ public void Setup ( )
13+ {
14+ _client = new BookStoreClient ( ) ;
15+ }
16+
17+ [ Test ]
18+ public async Task GetAllBooks_ShouldReturn_NonEmptyList ( )
19+ {
20+ var books = await _client . GetAllBooksAsync ( ) ;
21+ Assert . That ( books . Books , Is . Not . Empty ) ;
22+ }
23+
24+ [ Test ]
25+ public async Task GetBookByIsbn_ShouldReturn_ValidBook ( )
26+ {
27+ var books = await _client . GetAllBooksAsync ( ) ;
28+ var firstIsbn = books . Books . First ( ) . ISBN ;
29+
30+ var book = await _client . GetBookByIsbnAsync ( firstIsbn ) ;
31+
32+ Assert . That ( book . Title , Is . Not . Empty ) ;
33+ Assert . That ( book . ISBN , Is . EqualTo ( firstIsbn ) ) ;
34+ }
35+
36+ [ Test ]
37+ public async Task CreateUser_ShouldReturn_201 ( )
38+ {
39+ var user = new UserRequestDto
40+ {
41+ UserName = $ "user_{ Guid . NewGuid ( ) : N} ",
42+ Password = "P@ssword123"
43+ } ;
44+
45+ var response = await _client . CreateUserAsync ( user ) ;
46+ Assert . That ( ( int ) response . StatusCode , Is . EqualTo ( 201 ) ) ;
47+ }
48+
749 [ Test ]
8- public async Task GetBooks_ShouldReturnBooksJson ( )
50+ public async Task GenerateToken_ShouldReturn_ValidToken ( )
951 {
10- var api = new ApiClient ( ) ;
11- var books = await api . GetBooks ( ) ;
52+ var user = new UserRequestDto
53+ {
54+ UserName = $ "user_{ Guid . NewGuid ( ) : N} ",
55+ Password = "P@ssword123"
56+ } ;
57+
58+ await _client . CreateUserAsync ( user ) ;
59+
60+ var token = await _client . GenerateTokenAsync ( user ) ;
1261
13- Assert . That ( books , Is . Not . Null ) ;
62+ Assert . That ( token , Is . Not . Null ) ;
63+ Assert . That ( token ! . Token , Is . Not . Empty ) ;
64+ Assert . That ( token . Status , Is . EqualTo ( "Success" ) ) ;
1465 }
1566}
0 commit comments