Skip to content

Commit

Permalink
Simplify mocked tests
Browse files Browse the repository at this point in the history
  • Loading branch information
RobinTTY committed Apr 20, 2024
1 parent 4f5f99c commit 2547c74
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 205 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Net;
using System.Text.Json;
using FakeItEasy;
using RobinTTY.NordigenApiClient.Models.Responses;
using RobinTTY.NordigenApiClient.Tests.Shared;
Expand All @@ -8,23 +7,14 @@ namespace RobinTTY.NordigenApiClient.Tests.Mocks.Endpoints;

public class AccountsEndpointTests
{
private readonly JsonSerializerOptions _jsonOptions = TestHelpers.GetSerializerOptions();

/// <summary>
/// Tests the retrieval of an account.
/// </summary>
[Test]
public async Task GetAccount()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetAccount, _jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetAccount, HttpStatusCode.OK);

var accountResponse = await apiClient.AccountsEndpoint.GetAccount(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(accountResponse, HttpStatusCode.OK);
var account = accountResponse.Result!;
Expand All @@ -42,15 +32,8 @@ public async Task GetAccount()
[Test]
public async Task GetBalances()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetBalances, _jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetBalances, HttpStatusCode.OK);

var balancesResponse = await apiClient.AccountsEndpoint.GetBalances(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(balancesResponse, HttpStatusCode.OK);
var balances = balancesResponse.Result!;
Expand All @@ -69,15 +52,8 @@ public async Task GetBalances()
[Test]
public async Task GetAccountDetails()
{
var responsePayload = JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetAccountDetails,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetAccountDetails, HttpStatusCode.OK);

var detailsResponse = await apiClient.AccountsEndpoint.GetAccountDetails(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(detailsResponse, HttpStatusCode.OK);
var details = detailsResponse.Result!;
Expand All @@ -100,14 +76,7 @@ public async Task GetAccountDetails()
[Test]
public async Task GetTransactions()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetTransactions, _jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetTransactions, HttpStatusCode.OK);

var transactionsResponse = await apiClient.AccountsEndpoint.GetTransactions(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(transactionsResponse, HttpStatusCode.OK);
Expand Down Expand Up @@ -137,14 +106,7 @@ public async Task GetTransactions()
[Test]
public async Task GetTransactionRange()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetTransactionRange, _jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetTransactionRange, HttpStatusCode.OK);

#if NET6_0_OR_GREATER
var startDate = new DateOnly(2022, 08, 04);
Expand All @@ -167,15 +129,8 @@ await apiClient.AccountsEndpoint.GetTransactions(A.Dummy<Guid>(), startDate,
[Test]
public async Task GetTransactionRangeInFuture()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AccountsEndpointMockData.GetTransactionRangeInFuture, _jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.BadRequest,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AccountsEndpointMockData.GetTransactionRangeInFuture, HttpStatusCode.BadRequest);

var dateInFuture = DateTime.Now.AddDays(1);
#if NET6_0_OR_GREATER
var balancesResponse =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Net;
using System.Text.Json;
using FakeItEasy;
using RobinTTY.NordigenApiClient.Models.Requests;
using RobinTTY.NordigenApiClient.Tests.Shared;
Expand All @@ -8,23 +7,13 @@ namespace RobinTTY.NordigenApiClient.Tests.Mocks.Endpoints;

public class AgreementsEndpointTests
{
private readonly JsonSerializerOptions _jsonOptions = TestHelpers.GetSerializerOptions();

/// <summary>
/// Tests the retrieval of end user agreements.
/// </summary>
[Test]
public async Task GetAgreements()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AgreementsEndpointMockData.GetAgreements,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AgreementsEndpointMockData.GetAgreements, HttpStatusCode.OK);

var agreements = await apiClient.AgreementsEndpoint.GetAgreements(100, 0);
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(agreements, HttpStatusCode.OK);
Expand Down Expand Up @@ -62,15 +51,7 @@ public async Task GetAgreements()
[Test]
public async Task GetAgreement()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AgreementsEndpointMockData.GetAgreement,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AgreementsEndpointMockData.GetAgreement, HttpStatusCode.OK);

var agreement = await apiClient.AgreementsEndpoint.GetAgreement(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(agreement, HttpStatusCode.OK);
Expand All @@ -96,15 +77,7 @@ public async Task GetAgreement()
[Test]
public async Task CreateAgreement()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AgreementsEndpointMockData.CreateAgreement,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.Created,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AgreementsEndpointMockData.CreateAgreement, HttpStatusCode.Created);

var agreementRequest = new CreateAgreementRequest(145, 145,
["balances", "details", "transactions"], "SANDBOXFINANCE_SFIN0000");
Expand All @@ -129,16 +102,8 @@ public async Task CreateAgreement()
[Test]
public async Task DeleteAgreement()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.AgreementsEndpointMockData.DeleteAgreement,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.AgreementsEndpointMockData.DeleteAgreement, HttpStatusCode.OK);

var result = await apiClient.AgreementsEndpoint.DeleteAgreement(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(result, HttpStatusCode.OK);
Assert.Multiple(() =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,19 @@
using System.Net;
using System.Text.Json;
using RobinTTY.NordigenApiClient.Models.Responses;
using RobinTTY.NordigenApiClient.Tests.Shared;

namespace RobinTTY.NordigenApiClient.Tests.Mocks.Endpoints;

public class InstitutionsEndpointTests
{
private readonly JsonSerializerOptions _jsonOptions = TestHelpers.GetSerializerOptions();

/// <summary>
/// Tests the retrieving of institutions for all countries and a specific country (Great Britain).
/// </summary>
[Test]
public async Task GetInstitutions()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.InstitutionsEndpointMockData.GetInstitutions,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.InstitutionsEndpointMockData.GetInstitutions, HttpStatusCode.OK);

var institutions = await apiClient.InstitutionsEndpoint.GetInstitutions();
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(institutions, HttpStatusCode.OK);

Expand All @@ -39,16 +28,8 @@ public async Task GetInstitutions()
[Test]
public async Task GetInstitution()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.InstitutionsEndpointMockData.GetInstitution,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.InstitutionsEndpointMockData.GetInstitution, HttpStatusCode.OK);

var institution = await apiClient.InstitutionsEndpoint.GetInstitution("N26_NTSBDEB1");
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(institution, HttpStatusCode.OK);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Net;
using System.Text.Json;
using FakeItEasy;
using RobinTTY.NordigenApiClient.Models.Requests;
using RobinTTY.NordigenApiClient.Models.Responses;
Expand All @@ -9,23 +8,13 @@ namespace RobinTTY.NordigenApiClient.Tests.Mocks.Endpoints;

public class RequisitionsEndpointTests
{
private readonly JsonSerializerOptions _jsonOptions = TestHelpers.GetSerializerOptions();

/// <summary>
/// Tests the retrieving of all existing requisitions.
/// </summary>
[Test]
public async Task GetRequisitions()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.RequisitionsEndpointMockData.GetRequisitions,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.RequisitionsEndpointMockData.GetRequisitions, HttpStatusCode.OK);

var requisitions = await apiClient.RequisitionsEndpoint.GetRequisitions(100, 0);
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(requisitions, HttpStatusCode.OK);
Expand Down Expand Up @@ -70,15 +59,7 @@ public async Task GetRequisitions()
[Test]
public async Task GetRequisition()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.RequisitionsEndpointMockData.GetRequisition,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.RequisitionsEndpointMockData.GetRequisition, HttpStatusCode.OK);

var requisition = await apiClient.RequisitionsEndpoint.GetRequisition(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(requisition, HttpStatusCode.OK);
Expand Down Expand Up @@ -114,15 +95,7 @@ public async Task GetRequisition()
[Test]
public async Task CreateRequisitions()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.RequisitionsEndpointMockData.CreateRequisition,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.Created,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);
var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.RequisitionsEndpointMockData.CreateRequisition, HttpStatusCode.Created);

var requisition = await apiClient.RequisitionsEndpoint.CreateRequisition(A.Fake<CreateRequisitionRequest>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(requisition, HttpStatusCode.Created);
Expand All @@ -147,16 +120,8 @@ public async Task CreateRequisitions()
[Test]
public async Task DeleteRequisitions()
{
var responsePayload =
JsonSerializer.Serialize(TestHelpers.MockData.RequisitionsEndpointMockData.DeleteRequisition,
_jsonOptions);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(responsePayload)
};
var apiClient = TestHelpers.GetMockClient([response]);

var apiClient = TestHelpers.GetMockClient(TestHelpers.MockData.RequisitionsEndpointMockData.DeleteRequisition, HttpStatusCode.OK);

var result = await apiClient.RequisitionsEndpoint.DeleteRequisition(A.Dummy<Guid>());
AssertionHelpers.AssertNordigenApiResponseIsSuccessful(result, HttpStatusCode.OK);

Expand Down
Loading

0 comments on commit 2547c74

Please sign in to comment.