polygone/Library/PackageCache/com.unity.collab-proxy@1.3.9/Tests/Editor/Models/HistoryModelTests.cs
2021-08-02 05:44:37 -04:00

130 lines
4.4 KiB
C#

using System.Collections.Generic;
using NUnit.Framework;
using Unity.Cloud.Collaborate.Models;
namespace Unity.Cloud.Collaborate.Tests.Models
{
public class HistoryModelTests
{
TestSourceControlProvider m_Provider;
HistoryModel m_Model;
int m_BusyStatusUpdatedCount;
int m_EntryCountUpdatedCount;
int m_HistoryListReceivedCount;
int m_HistoryListUpdatedCount;
int m_SelectedRevisionReceivedCount;
[SetUp]
public void Setup()
{
m_Provider = new TestSourceControlProvider();
m_Model = new HistoryModel(m_Provider);
m_Model.OnStart();
m_BusyStatusUpdatedCount = 0;
m_EntryCountUpdatedCount = 0;
m_HistoryListReceivedCount = 0;
m_HistoryListUpdatedCount = 0;
m_SelectedRevisionReceivedCount = 0;
m_Model.BusyStatusUpdated += _ => m_BusyStatusUpdatedCount++;
m_Model.EntryCountUpdated += _ => m_EntryCountUpdatedCount++;
m_Model.HistoryListReceived += _ => m_HistoryListReceivedCount++;
m_Model.HistoryListUpdated += () => m_HistoryListUpdatedCount++;
m_Model.SelectedRevisionReceived += _ => m_SelectedRevisionReceivedCount++;
}
[TearDown]
public void TearDown()
{
m_Model = null;
m_Provider = null;
}
[Test]
public void TestHistoryListUpdated()
{
m_Provider.TriggerUpdatedHistoryEntries();
Assert.AreEqual(1, m_HistoryListUpdatedCount);
}
[Test]
public void TestIsBusyAndEntryCount()
{
m_Model.RequestEntryNumber();
Assert.AreEqual(1, m_Provider.RequestedHistoryCountCount);
Assert.AreEqual(false, m_Model.Busy);
Assert.AreEqual(2, m_BusyStatusUpdatedCount);
Assert.AreEqual(1, m_EntryCountUpdatedCount);
}
[Test]
public void TestRequestingPageOfRevisions()
{
m_Model.PageNumber = 2;
m_Model.RequestPageOfRevisions(10);
Assert.AreEqual(1, m_Provider.RequestedHistoryListCount);
Assert.AreEqual(20, m_Provider.RequestedHistoryListOffset);
Assert.AreEqual(10, m_Provider.RequestedHistoryListSize);
Assert.AreEqual(2, m_BusyStatusUpdatedCount);
Assert.AreEqual(1, m_HistoryListReceivedCount);
}
[Test]
public void TestRequestingSingleRevision()
{
const string revisionId = "123";
Assert.AreEqual(false, m_Model.IsRevisionSelected);
Assert.AreEqual(string.Empty, m_Model.SelectedRevisionId);
m_Model.RequestSingleRevision(revisionId);
Assert.AreEqual(true, m_Model.IsRevisionSelected);
Assert.AreEqual(1, m_Provider.RequestedHistoryRevisionCount);
Assert.AreEqual(revisionId, m_Provider.RequestedHistoryRevisionId);
Assert.AreEqual(2, m_BusyStatusUpdatedCount);
Assert.AreEqual(1, m_SelectedRevisionReceivedCount);
}
[Test]
public void TestRequestUpdateTo()
{
const string revisionId = "123";
m_Model.RequestUpdateTo(revisionId);
Assert.AreEqual(1, m_Provider.RequestedUpdateToCount);
Assert.AreEqual(revisionId, m_Provider.RequestedUpdateToRevisionId);
}
[Test]
public void TestRequestRestoreTo()
{
const string revisionId = "123";
m_Model.RequestRestoreTo(revisionId);
Assert.AreEqual(1, m_Provider.RequestedRestoreToCount);
Assert.AreEqual(revisionId, m_Provider.RequestedRestoreToRevisionId);
}
[Test]
public void TestRequestGoBackTo()
{
const string revisionId = "123";
m_Model.RequestGoBackTo(revisionId);
Assert.AreEqual(1, m_Provider.RequestedGoBackToCount);
Assert.AreEqual(revisionId, m_Provider.RequestedGoBackToRevisionId);
}
[Test]
public void TestRevert()
{
const string revisionId = "123";
m_Model.RequestRevert(revisionId, new List<string> { "a", "b", "c" });
Assert.AreEqual(1, m_Provider.RequestedRevertCount);
Assert.AreEqual(revisionId, m_Provider.RequestedRevertRevisionId);
Assert.AreEqual(3, m_Provider.RequestedRevertFileCount);
}
}
}