129 lines
3.5 KiB
C#
129 lines
3.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using NUnit.Framework;
|
|
using Unity.Cloud.Collaborate.Models.Structures;
|
|
using Unity.Cloud.Collaborate.Presenters;
|
|
using Unity.Cloud.Collaborate.Tests.Models;
|
|
|
|
namespace Unity.Cloud.Collaborate.Tests.Presenters
|
|
{
|
|
public class MainPresenterTests
|
|
{
|
|
TestMainView m_View;
|
|
TestMainModel m_MainModel;
|
|
MainPresenter m_Presenter;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
m_View = new TestMainView();
|
|
m_MainModel = new TestMainModel();
|
|
m_Presenter = new MainPresenter(m_View, m_MainModel);
|
|
}
|
|
|
|
[TearDown]
|
|
public void TearDown()
|
|
{
|
|
m_Presenter.Stop();
|
|
m_View = null;
|
|
m_MainModel = null;
|
|
m_Presenter = null;
|
|
}
|
|
|
|
[Test]
|
|
public void TestBackNavigation()
|
|
{
|
|
m_Presenter.Start();
|
|
|
|
var called = false;
|
|
m_MainModel.backNavigation = ("test", "test-text", () => called = true);
|
|
m_Presenter.NavigateBack();
|
|
|
|
Assert.IsTrue(called);
|
|
Assert.IsNull(m_MainModel.backNavigation);
|
|
}
|
|
|
|
[Test]
|
|
public void TestBackNavigationWithNull()
|
|
{
|
|
m_Presenter.Start();
|
|
|
|
m_MainModel.backNavigation = null;
|
|
m_Presenter.NavigateBack();
|
|
|
|
Assert.IsNull(m_MainModel.backNavigation);
|
|
}
|
|
|
|
[Test]
|
|
public void TestAssigningPresenters()
|
|
{
|
|
m_Presenter.Start();
|
|
|
|
var changesView = new TestChangesView();
|
|
m_Presenter.AssignChangesPresenter(changesView);
|
|
Assert.IsNotNull(changesView.Presenter);
|
|
|
|
var historyView = new TestHistoryView();
|
|
m_Presenter.AssignHistoryPresenter(historyView);
|
|
Assert.IsNotNull(historyView.Presenter);
|
|
}
|
|
|
|
[Test]
|
|
public void TestCancellingJob()
|
|
{
|
|
m_Presenter.Start();
|
|
|
|
m_Presenter.RequestCancelJob();
|
|
|
|
Assert.AreEqual(1, m_MainModel.requestCancelJobCount);
|
|
}
|
|
|
|
[Test]
|
|
public void TestSettingTabIndex()
|
|
{
|
|
m_Presenter.Start();
|
|
|
|
const int newVal = 5;
|
|
m_Presenter.UpdateTabIndex(newVal);
|
|
|
|
Assert.AreEqual(newVal, m_MainModel.CurrentTabIndex);
|
|
}
|
|
|
|
[Test]
|
|
public void TestStartingWithJobInProgress()
|
|
{
|
|
m_MainModel.ProgressInfo = new ProgressInfo("test", "test", 50, 20);
|
|
m_Presenter.Start();
|
|
|
|
Assert.IsTrue(m_View.inProgress);
|
|
Assert.IsNotNull(m_View.progress);
|
|
}
|
|
|
|
[Test]
|
|
public void TestStartingWithError()
|
|
{
|
|
const string message = "test message";
|
|
m_MainModel.ErrorInfo = new ErrorInfo(20, 1, (int)ErrorInfoBehavior.Alert, message, "test", "20");
|
|
m_Presenter.Start();
|
|
|
|
Assert.AreEqual(1, m_View.alerts.Count);
|
|
Assert.AreEqual(message, m_View.alerts.First().Value.message);
|
|
}
|
|
|
|
[Test]
|
|
public void TestReceivingStateChange()
|
|
{
|
|
const string message = "test message";
|
|
const int tabIndex = 67;
|
|
|
|
m_Presenter.Start();
|
|
m_MainModel.backNavigation = ("id", message, () => { });
|
|
m_MainModel.CurrentTabIndex = tabIndex;
|
|
m_MainModel.TriggerStateChanged();
|
|
|
|
Assert.AreEqual(message, m_View.backNavigation);
|
|
Assert.AreEqual(tabIndex, m_View.tabIndex);
|
|
}
|
|
}
|
|
}
|