72 lines
1.8 KiB
C#
72 lines
1.8 KiB
C#
using System;
|
|
using MileageTraker.Web.Models;
|
|
using MileageTraker.Web.ViewModels;
|
|
using NUnit.Framework;
|
|
|
|
namespace Web.Tests.ViewModels
|
|
{
|
|
[TestFixture]
|
|
public class CreateLogViewModelTests
|
|
{
|
|
[Test]
|
|
public void GetLog_Converts_To_Log()
|
|
{
|
|
var cityName = "My Town";
|
|
var date = DateTime.Today;
|
|
var employeeName = "Name";
|
|
var endOdometer = "1234";
|
|
var ethraId = "4567";
|
|
string gasPurchased = "2.546";
|
|
var mileageLogType = new MileageLogTypeWrapper {Enum = MileageLogType.Commuting};
|
|
|
|
var viewModel =
|
|
new CreateLogViewModel
|
|
{
|
|
CityName = cityName,
|
|
Date = date,
|
|
EmployeeName = employeeName,
|
|
EndOdometer = endOdometer,
|
|
VehicleId = ethraId,
|
|
GasPurchased = gasPurchased,
|
|
LogType = mileageLogType
|
|
};
|
|
|
|
var log = viewModel.GetLog();
|
|
}
|
|
|
|
[Test]
|
|
public void Ctor_Initializes_From_Log()
|
|
{
|
|
var cityName = "My Town";
|
|
var date = DateTime.Today;
|
|
var employeeName = "Name";
|
|
var endOdometer = 1234;
|
|
var ethraId = "4567";
|
|
var gasPurchased = 2.546d;
|
|
var mileageLogType = MileageLogType.Commuting;
|
|
|
|
var log =
|
|
new Log
|
|
{
|
|
CityName = cityName,
|
|
Date = date,
|
|
EmployeeName = employeeName,
|
|
EndOdometer = endOdometer,
|
|
VehicleId = ethraId,
|
|
GasPurchased = gasPurchased,
|
|
LogType = mileageLogType
|
|
};
|
|
|
|
var viewModel = new CreateLogViewModel(log);
|
|
|
|
Assert.That(viewModel.CityName, Is.EqualTo(cityName));
|
|
Assert.That(viewModel.Date, Is.EqualTo(date.ToString("d")));
|
|
Assert.That(viewModel.EmployeeName, Is.EqualTo(employeeName));
|
|
Assert.That(viewModel.EndOdometer, Is.EqualTo(endOdometer.ToString()));
|
|
Assert.That(viewModel.VehicleId, Is.EqualTo(ethraId));
|
|
Assert.That(viewModel.GasPurchased, Is.EqualTo(gasPurchased.ToString()));
|
|
Assert.That(viewModel.LogType.Enum, Is.EqualTo(mileageLogType));
|
|
}
|
|
}
|
|
}
|