Skip to content

Commit

Permalink
Refactored JSON test helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
khanjal committed Oct 20, 2024
1 parent f86dc11 commit 974fbe4
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 13 deletions.
31 changes: 22 additions & 9 deletions RLE.Core.Tests/Data/Helpers/JsonHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,48 @@ public class JsonHelpers

public static Spreadsheet? LoadDemoSpreadsheet()
{
using StreamReader reader = new($"./Data/Json/DemoSheet.json");
var json = reader.ReadToEnd();
var path = GetDataJsonPath("DemoSheet");
var json = ReadJson(path);
var sheetData = JsonConvert.DeserializeObject<Spreadsheet>(json);

return sheetData;
}

public static IList<IList<object>>? LoadJsonData(string filename)
{
var path = $"./Data/Json/{filename}.json";
var values = ReadJson(path);
var path = GetDataJsonPath(filename);
var json = ReadJson(path);
var values = DeserializeJson<GoogleResponse>(json)?.Values;

return values;
}

public static IList<IList<object>>? LoadJsonSheetData(string sheet)
{
var path = $"./Data/Json/Sheets/{sheet}Sheet.json";
var values = ReadJson(path);
var path = GetDataJsonPath($"Sheets/{sheet}Sheet");
var json = ReadJson(path);
var values = DeserializeJson<GoogleResponse>(json)?.Values;

return values;
}

private static IList<IList<object>>? ReadJson(string path)
public static string GetDataJsonPath(string filename)
{
return $"./Data/Json/{filename}.json";
}

public static string ReadJson(string path)
{
using StreamReader reader = new(path);
var json = reader.ReadToEnd();
var values = JsonConvert.DeserializeObject<GoogleResponse>(json)?.Values;

return values;
return json;
}

public static T DeserializeJson<T>(string json)
{
var values = JsonConvert.DeserializeObject<T>(json);

return values ?? default;

Check warning on line 54 in RLE.Core.Tests/Data/Helpers/JsonHelpers.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference return.

Check warning on line 54 in RLE.Core.Tests/Data/Helpers/JsonHelpers.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference return.
}
}
8 changes: 4 additions & 4 deletions RLE.Gig.Tests/Data/Helpers/GigJsonHelpers.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Newtonsoft.Json;
using RLE.Core.Tests.Data.Helpers;
using RLE.Gig.Entities;

namespace RLE.Gig.Tests.Data.Helpers;
Expand All @@ -7,9 +7,9 @@ internal class GigJsonHelpers
{
internal static SheetEntity? LoadSheetJson()
{
using StreamReader reader = new($"./Data/Json/ShiftWithTrips.json");
var json = reader.ReadToEnd();
var sheetData = JsonConvert.DeserializeObject<SheetEntity>(json);
var path = JsonHelpers.GetDataJsonPath("ShiftWithTrips");
var json = JsonHelpers.ReadJson(path);
var sheetData = JsonHelpers.DeserializeJson<SheetEntity>(json);

return sheetData;
}
Expand Down

0 comments on commit 974fbe4

Please sign in to comment.