summaryrefslogtreecommitdiff
path: root/battleNetApi/tests/tests.cpp
blob: 611cf83e3ccfb1dadfa15eaee23476f8e0485d72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "apiUrl.hpp"
#include "hearthstoneApi.hpp"
#include <catch2/catch_test_macros.hpp>
#include <iostream>
#include <nlohmann/json.hpp>

TEST_CASE("Retrieve API Token", "[generateApiToken]") {
    const std::string kCredentialsFile{"tests/resources/credentials.json"};
    Token aToken(kCredentialsFile);
    const std::string kTokenContent{aToken.text()};
    const std::string::size_type kTokenSize{kTokenContent.size()};
    REQUIRE(kTokenSize >= 30);
    REQUIRE(kTokenSize <= 40);
}

TEST_CASE("Retrieve number of cards", "[getCardsCount]") {
    const std::string kCredentialsFile{"tests/resources/credentials.json"};
    Token aToken(kCredentialsFile);
    HearthstoneApi aHearthstoneApi(aToken);
    const std::string kContentType{"cards"};
    const std::string kRegion{"eu"};
    ApiUrl aApiUrl(kContentType, kRegion);
    aApiUrl.setLocale("fr_FR");
    aApiUrl.setGameMode("constructed");
    aApiUrl.setPageSize("1");
    const json kResponse{aHearthstoneApi.makeApiRequest(aApiUrl())};
    REQUIRE(kResponse.size() > 0);
    REQUIRE(kResponse[0].contains("pageCount"));
    std::uint64_t kNumberOfCards{kResponse[0]["pageCount"]};
    REQUIRE(kNumberOfCards == 6033);
}

// TEST_CASE("Retrieve cards", "[retrieveCards]") {
//     HearthstoneApiMock aHearthstoneApi;
//     const std::string kContentType{"cards"};
//     const std::string kRegion{"eu"};
//     ApiUrl aApiUrl(kContentType, kRegion);
//     aApiUrl.setLocale("fr_FR");
//     aApiUrl.setGameMode("constructed");
//     aApiUrl.setPageSize("10");
//     const std::string kApiResponse{aHearthstoneApi.makeApiRequest(aApiUrl())};
//     REQUIRE(kApiResponse.size() > 5000);
// }