using System; using System.Collections.Generic; using LeafWeb.Core.Entities; using LeafWeb.WebCms.Models; using NUnit.Framework; namespace LeafWeb.WebCms.Tests.Models { [TestFixture] public class LeafInputDetailsTests { private LeafInput GetLeafInput() { return new LeafInput { CurrentStatus = LeafInputStatusType.Complete, OutputFiles = new[] { new LeafOutputFile { Filename = "OutputFilename.txt" } }, Added = DateTime.Today, Email = "test@email.com", Identifier = "Ident I Fier", Name = "My Name", PhotosynthesisType = new PhotosynthesisType { Id = "1", Name = "1", SortOrder = 1 }, InputFiles = new[] { new LeafInputFile { Filename = "MyFilename.ext", Id = 3 } }, StatusHistory = new List { new LeafInputStatus { DateTime = DateTime.Today.Subtract(new TimeSpan(4,0,0)), Description = "Added", Details = "Uploaded from Web", Id = 1, Status = LeafInputStatusType.Pending }, new LeafInputStatus { DateTime = DateTime.Today.Subtract(new TimeSpan(3,0,0)), Description = "Uploading input data", Id = 2, Status = LeafInputStatusType.Starting }, new LeafInputStatus { DateTime = DateTime.Today.Subtract(new TimeSpan(2,12,0)), Description = "Running on server", Id = 3, Status = LeafInputStatusType.Running }, new LeafInputStatus { DateTime = DateTime.Today.Subtract(new TimeSpan(1,0,0)), Description = "Downloading results", Id = 4, Status = LeafInputStatusType.Finishing }, new LeafInputStatus { DateTime = DateTime.Today.Subtract(new TimeSpan(0,12,0)), Description = "All done", Id = 5, Status = LeafInputStatusType.Complete } } }; } [Test] public void CanConstructFromLeafInputFile() { var leafInput = GetLeafInput(); var viewModel = new LeafInputDetails(leafInput); Assert.That(viewModel.CurrentStatus, Is.EqualTo(leafInput.CurrentStatus.ToString())); Assert.That(viewModel.StatusHistory, Has.Count.EqualTo(5)); Assert.That(viewModel.StatusHistory[0].Status, Is.EqualTo("Pending")); Assert.That(viewModel.StatusHistory[1].Status, Is.EqualTo("Starting")); Assert.That(viewModel.StatusHistory[4].Status, Is.EqualTo("Complete")); //Assert.That(viewModel., Is.EqualTo(leafInput.Id)); //Assert.That(viewModel.LeafOutputFilenames, Has.Length.EqualTo(1)); //Assert.That(viewModel., Is.EqualTo(leafInput.Identifier)); Assert.That(viewModel.SiteId, Is.EqualTo(leafInput.SiteId)); //Assert.That(viewModel.LeafInputPhotosynthesisType, Is.EqualTo(leafInput.PhotosynthesisType.Name)); } } }