Skip to content

Commit

Permalink
Refactored tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
khanjal committed Aug 19, 2024
1 parent 788f8a2 commit 9d9e432
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 28 deletions.
52 changes: 36 additions & 16 deletions GigRaptorLib.Tests/Utilities/Google/GoogleSheetManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,22 +97,7 @@ public async Task GivenAddSheetData_WithValidSheetId_ThenReturnEmpty()
[Fact]
public async Task GivenAddSheetData_WithData_ThenReturnData()
{
// Create shift/trips
var date = DateTime.Now.ToString("yyyy-MM-dd");
var random = new Random();
var number = random.Next();
var service = $"Test {number}";

var sheetEntity = new SheetEntity();
sheetEntity.Shifts.Add(new ShiftEntity { Date = date, Number = 1, Service = service });

// Loop randomly
for (int i = 0; i < random.Next(1,5); i++)
{
sheetEntity.Trips.Add(new TripEntity { Date = date, Number = 1, Service = service, Type = "Pickup", Pay = Math.Round(random.Next(1, 10) + new decimal(random.NextDouble()),2), Tip = random.Next(1, 5), Distance = Math.Round(random.Next(1, 10) + new decimal(random.NextDouble()),2), Name = "Test Name", StartAddress = "Start Address", EndAddress = "End Address" });
}

var result = await _googleSheetManager.AddSheetData([SheetEnum.TRIPS, SheetEnum.SHIFTS], sheetEntity);
var result = await _googleSheetManager.AddSheetData([SheetEnum.TRIPS, SheetEnum.SHIFTS], GenerateShift());
result.Should().NotBeNull();
//result.Messages.Count.Should().Be(1);
//result.Messages[0].Type.Should().Be(MessageEnum.Error.UpperName());
Expand All @@ -135,4 +120,39 @@ public async Task GivenCreateSheet_WithValidSheetId_ThenReturnData()
result.Messages.Count.Should().Be(1);
result.Messages[0].Level.Should().Be(MessageLevelEnum.Error.UpperName());
}

private static SheetEntity GenerateShift()
{
// Create shift/trips
var date = DateTime.Now.ToString("yyyy-MM-dd");
var random = new Random();
var number = random.Next();
var service = $"Test {number}";

var sheetEntity = new SheetEntity();
sheetEntity.Shifts.Add(new ShiftEntity { Date = date, Number = 1, Service = service });

// Add random amount of trips
for (int i = 0; i < random.Next(1, 5); i++)
{
var tripEntity = GenerateTrip();
tripEntity.Date = date;
tripEntity.Number = 1;
tripEntity.Service = service;
sheetEntity.Trips.Add(tripEntity);
}

return sheetEntity;
}

private static TripEntity GenerateTrip() {
var random = new Random();
var pay = Math.Round(random.Next(1, 10) + new decimal(random.NextDouble()), 2);
var tip = random.Next(1, 5);
var name = $"Test Name {random.Next(1, 25)}";
var startAddress = $"Start Address {random.Next(1, 25)}";
var endAddress = $"End Address {random.Next(1, 25)}";

return new TripEntity { Type = "Pickup", Pay = pay, Tip = tip, Name = name, StartAddress = startAddress, EndAddress = endAddress };
}
}
2 changes: 1 addition & 1 deletion GigRaptorLib/Mappers/TripMapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public static List<TripEntity> MapFromRangeData(IList<IList<object>> values)
objectList.Add(trip.Note);
break;
default:
objectList.Add(null);
objectList.Add(new object());
break;
}
}
Expand Down
22 changes: 11 additions & 11 deletions GigRaptorLib/Utilities/Google/GoogleSheetManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,16 @@ public async Task<SheetEntity> AddSheetData(List<SheetEnum> sheets, SheetEntity
switch (sheet) {
case SheetEnum.SHIFTS:
values = ShiftMapper.MapToRangeData(sheetEntity.Shifts, headers);
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Adding data to {sheet.UpperName()}"));
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Adding data to {sheet.UpperName()}", MessageTypeEnum.AddData.DisplayName()));
break;

case SheetEnum.TRIPS:
values = TripMapper.MapToRangeData(sheetEntity.Trips, headers);
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Adding data to {sheet.UpperName()}"));
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Adding data to {sheet.UpperName()}", MessageTypeEnum.AddData.DisplayName()));
break;
default:
// Unsupported sheet.
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"Adding data to {sheet.UpperName()} not supported"));
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"Adding data to {sheet.UpperName()} not supported", MessageTypeEnum.AddData.DisplayName()));
break;
}

Expand All @@ -65,13 +65,13 @@ public async Task<SheetEntity> AddSheetData(List<SheetEnum> sheets, SheetEntity
var result = await _googleSheetService.AppendData(valueRange, $"{sheet.DisplayName()}!{GoogleConfig.Range}");

if (result == null)
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"Unable to add data to {sheet.UpperName()}"));
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"Unable to add data to {sheet.UpperName()}", MessageTypeEnum.AddData.DisplayName()));
else
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Added data to {sheet.UpperName()}"));
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"Added data to {sheet.UpperName()}", MessageTypeEnum.AddData.DisplayName()));
}
else
{
sheetEntity.Messages.Add(MessageHelper.CreateWarningMessage($"No data to add to {sheet.UpperName()}"));
sheetEntity.Messages.Add(MessageHelper.CreateWarningMessage($"No data to add to {sheet.UpperName()}", MessageTypeEnum.AddData.DisplayName()));
}
}

Expand All @@ -96,7 +96,7 @@ public async Task<SheetEntity> CreateSheets(List<SheetEnum> sheets)
{
foreach (var sheet in sheets)
{
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"{sheet.UpperName()} not created"));
sheetEntity.Messages.Add(MessageHelper.CreateErrorMessage($"{sheet.UpperName()} not created", MessageTypeEnum.CreateSheet.DisplayName()));
}

return sheetEntity;
Expand All @@ -106,7 +106,7 @@ public async Task<SheetEntity> CreateSheets(List<SheetEnum> sheets)

foreach (var sheetTitle in sheetTitles)
{
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"{sheetTitle.GetValueFromName<SheetEnum>()} created"));
sheetEntity.Messages.Add(MessageHelper.CreateInfoMessage($"{sheetTitle.GetValueFromName<SheetEnum>()} created", MessageTypeEnum.CreateSheet.DisplayName()));
}

return sheetEntity;
Expand All @@ -118,7 +118,7 @@ public async Task<SheetEntity> GetSheet(string sheet)

if (!sheetExists)
{
return new SheetEntity { Messages = [MessageHelper.CreateErrorMessage($"Sheet {sheet.ToUpperInvariant()} does not exist")] };
return new SheetEntity { Messages = [MessageHelper.CreateErrorMessage($"Sheet {sheet.ToUpperInvariant()} does not exist", MessageTypeEnum.GetSheets.DisplayName())] };
}

return await GetSheets([sheetEnum]);
Expand All @@ -144,11 +144,11 @@ public async Task<SheetEntity> GetSheets(List<SheetEnum> sheets)

if (response == null)
{
messages.Add(MessageHelper.CreateErrorMessage($"Unable to retrieve sheet(s): {stringSheetList}"));
messages.Add(MessageHelper.CreateErrorMessage($"Unable to retrieve sheet(s): {stringSheetList}", MessageTypeEnum.GetSheets.DisplayName()));
}
else
{
messages.Add(MessageHelper.CreateInfoMessage($"Retrieved sheet(s): {stringSheetList}"));
messages.Add(MessageHelper.CreateInfoMessage($"Retrieved sheet(s): {stringSheetList}", MessageTypeEnum.GetSheets.DisplayName()));
data = SheetHelper.MapData(response);
}

Expand Down

0 comments on commit 9d9e432

Please sign in to comment.