summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
commitc55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 (patch)
treeee4d51c7c1d633e11f46453ef1edd3c77c4ef9f7 /Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests
downloadProject-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.gz
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.bz2
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.zip
Inital commit
Diffstat (limited to 'Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests')
-rw-r--r--Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor.meta8
-rw-r--r--Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs583
-rw-r--r--Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef13
-rw-r--r--Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef.meta7
5 files changed, 622 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor.meta b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor.meta
new file mode 100644
index 0000000..b80cefd
--- /dev/null
+++ b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4506ac79f5b274cb1b249ed7f4abfb9a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs
new file mode 100644
index 0000000..ba79a20
--- /dev/null
+++ b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs
@@ -0,0 +1,583 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEditor.Collaboration;
+using UnityEngine.TestTools;
+using NUnit.Framework;
+
+namespace UnityEditor.Collaboration.Tests
+{
+ [TestFixture]
+ internal class HistoryTests
+ {
+ private TestHistoryWindow _window;
+ private TestRevisionsService _service;
+ private CollabHistoryPresenter _presenter;
+
+ [SetUp]
+ public void SetUp()
+ {
+ _window = new TestHistoryWindow();
+ _service = new TestRevisionsService();
+ _presenter = new CollabHistoryPresenter(_window, new CollabHistoryItemFactory(), _service);
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__PropagatesRevisionResult()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(authorName: "authorName", comment: "comment", revisionID: "revisionID"),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual("revisionID", item.id);
+ Assert.AreEqual("authorName", item.authorName);
+ Assert.AreEqual("comment", item.comment);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__RevisionNumberingIsInOrder()
+ {
+ _service.result = new RevisionsResult()
+ {
+ RevisionsInRepo = 4,
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ new Revision(revisionID: "1"),
+ new Revision(revisionID: "2"),
+ new Revision(revisionID: "3"),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var items = _window.items.ToArray();
+
+ Assert.AreEqual(4, items[0].index);
+ Assert.AreEqual(3, items[1].index);
+ Assert.AreEqual(2, items[2].index);
+ Assert.AreEqual(1, items[3].index);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__RevisionNumberingChangesForMorePages()
+ {
+ _service.result = new RevisionsResult()
+ {
+ RevisionsInRepo = 12,
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ new Revision(revisionID: "1"),
+ new Revision(revisionID: "2"),
+ new Revision(revisionID: "3"),
+ new Revision(revisionID: "4"),
+ }
+ };
+
+ _presenter.OnUpdatePage(1);
+ var items = _window.items.ToArray();
+
+ Assert.AreEqual(12, items[0].index);
+ Assert.AreEqual(11, items[1].index);
+ Assert.AreEqual(10, items[2].index);
+ Assert.AreEqual(9, items[3].index);
+ Assert.AreEqual(8, items[4].index);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__ObtainedIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(isObtained: false),
+ new Revision(isObtained: true),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var items = _window.items.ToArray();
+
+ Assert.IsFalse(items[0].obtained);
+ Assert.IsTrue(items[1].obtained);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__CurrentIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "1"),
+ new Revision(revisionID: "2"),
+ new Revision(revisionID: "3"),
+ }
+ };
+ _service.tipRevision = "2";
+
+ _presenter.OnUpdatePage(0);
+ var items = _window.items.ToArray();
+
+ Assert.AreEqual(false, items[0].current);
+ Assert.AreEqual(true, items[1].current);
+ Assert.AreEqual(false, items[2].current);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__InProgressIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "1"),
+ new Revision(revisionID: "2"),
+ new Revision(revisionID: "3"),
+ }
+ };
+ _window.inProgressRevision = "2";
+
+ _presenter.OnUpdatePage(0);
+ var items = _window.items.ToArray();
+
+ Assert.IsFalse(items[0].inProgress);
+ Assert.IsTrue(items[1].inProgress);
+ Assert.IsFalse(items[2].inProgress);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__EnabledIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _window.revisionActionsEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(true, item.enabled);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__DisabledIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _window.revisionActionsEnabled = false;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(false, item.enabled);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasNoneWhenNotTip()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "1"),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = false;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.None, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateTipHasNoneWhenEnabled()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.None, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasConfigureWhenTip()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = false;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.Configure, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasConfigureWhenZeroBuildStatus()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = false;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.Configure, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasNoneWhenZeroBuildStatuses()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0"),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.None, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasSuccessWhenCompleteAndSucceeded()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ revisionID: "0",
+ buildStatuses: new CloudBuildStatus[1]
+ {
+ new CloudBuildStatus(complete: true, success: true),
+ }
+ ),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.Success, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasInProgress()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ revisionID: "0",
+ buildStatuses: new CloudBuildStatus[1]
+ {
+ new CloudBuildStatus(complete: false),
+ }
+ ),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.InProgress, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasFailure()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ revisionID: "0",
+ buildStatuses: new CloudBuildStatus[1]
+ {
+ new CloudBuildStatus(complete: true, success: false),
+ }
+ ),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.Failed, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasFailureWhenAnyBuildsFail()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ revisionID: "0",
+ buildStatuses: new CloudBuildStatus[3]
+ {
+ new CloudBuildStatus(complete: true, success: false),
+ new CloudBuildStatus(complete: true, success: false),
+ new CloudBuildStatus(complete: true, success: true),
+ }
+ ),
+ }
+ };
+ _service.tipRevision = "0";
+ _presenter.BuildServiceEnabled = true;
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(BuildState.Failed, item.buildState);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__ChangesPropagateThrough()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0", entries: GenerateChangeActions(3)),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+ var changes = item.changes.ToList();
+
+ Assert.AreEqual("Path0", changes[0].path);
+ Assert.AreEqual("Path1", changes[1].path);
+ Assert.AreEqual("Path2", changes[2].path);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__ChangesTotalIsCalculated()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0", entries: GenerateChangeActions(3)),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(3, item.changes.Count);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__ChangesTruncatedIsCalculated()
+ {
+ for (var i = 0; i < 20; i++)
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(revisionID: "0", entries: GenerateChangeActions(i)),
+ }
+ };
+
+ _presenter.OnUpdatePage(0);
+ var item = _window.items.First();
+
+ Assert.AreEqual(i > 10, item.changesTruncated);
+ }
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__OnlyKeeps10ChangeActions()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision(authorName: "Test", author: "test", entries: GenerateChangeActions(12)),
+ }
+ };
+
+ _presenter.OnUpdatePage(1);
+ var item = _window.items.First();
+
+ Assert.AreEqual(10, item.changes.Count);
+ Assert.AreEqual(12, item.changesTotal);
+ Assert.AreEqual(true, item.changesTruncated);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__DeduplicatesMetaFiles()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ authorName: "Test",
+ author: "test",
+ revisionID: "",
+ entries: new ChangeAction[2]
+ {
+ new ChangeAction(path: "Path1", action: "Action1"),
+ new ChangeAction(path: "Path1.meta", action: "Action1"),
+ }
+ ),
+ }
+ };
+
+ _presenter.OnUpdatePage(1);
+ var item = _window.items.First();
+
+ Assert.AreEqual(1, item.changes.Count);
+ Assert.AreEqual(1, item.changesTotal);
+ Assert.AreEqual("Path1", item.changes.First().path);
+ }
+
+ [Test]
+ public void CollabHistoryPresenter_OnUpdatePage__FolderMetaFilesAreCounted()
+ {
+ _service.result = new RevisionsResult()
+ {
+ Revisions = new List<Revision>()
+ {
+ new Revision
+ (
+ authorName: "Test",
+ author: "test",
+ entries: new ChangeAction[1]
+ {
+ new ChangeAction(path: "Folder1.meta", action: "Action1"),
+ }
+ ),
+ }
+ };
+
+ _presenter.OnUpdatePage(1);
+ var item = _window.items.First();
+
+ Assert.AreEqual(1, item.changes.Count);
+ Assert.AreEqual(1, item.changesTotal);
+ Assert.AreEqual("Folder1", item.changes.First().path);
+ }
+
+ private static ChangeAction[] GenerateChangeActions(int count)
+ {
+ var entries = new ChangeAction[count];
+ for (var i = 0; i < count; i++)
+ entries[i] = new ChangeAction(path: "Path" + i, action: "Action" + i);
+ return entries;
+ }
+ }
+
+ internal class TestRevisionsService : IRevisionsService
+ {
+ public RevisionsResult result;
+ public event RevisionsDelegate FetchRevisionsCallback;
+
+ public string tipRevision { get; set; }
+ public string currentUser { get; set; }
+
+ public void GetRevisions(int offset, int count)
+ {
+ if(FetchRevisionsCallback != null)
+ {
+ FetchRevisionsCallback(result);
+ }
+ }
+ }
+
+ internal class TestHistoryWindow : ICollabHistoryWindow
+ {
+ public IEnumerable<RevisionData> items;
+
+ public bool revisionActionsEnabled { get; set; }
+ public int itemsPerPage { get; set; }
+ public string errMessage { get; set; }
+ public string inProgressRevision { get; set; }
+ public PageChangeAction OnPageChangeAction { get; set; }
+ public RevisionAction OnGoBackAction { get; set; }
+ public RevisionAction OnUpdateAction { get; set; }
+ public RevisionAction OnRestoreAction { get; set; }
+ public ShowBuildAction OnShowBuildAction { get; set; }
+ public Action OnShowServicesAction { get; set; }
+
+ public void UpdateState(HistoryState state, bool force)
+ {
+ }
+
+ public void UpdateRevisions(IEnumerable<RevisionData> items, string tip, int totalRevisions, int currPage)
+ {
+ this.items = items;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs.meta b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs.meta
new file mode 100644
index 0000000..d648a7f
--- /dev/null
+++ b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/HistoryTests.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 23a56a19774ed42b6b65646af08a003c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef
new file mode 100644
index 0000000..3467a9e
--- /dev/null
+++ b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef
@@ -0,0 +1,13 @@
+{
+ "name": "Unity.CollabProxy.EditorTests",
+ "references": [
+ "Unity.CollabProxy.Editor"
+ ],
+ "optionalUnityReferences": [
+ "TestAssemblies"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": []
+}
diff --git a/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef.meta b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef.meta
new file mode 100644
index 0000000..57db5c7
--- /dev/null
+++ b/Library/PackageCache/com.unity.collab-proxy@1.2.16/Tests/Editor/Unity.CollabProxy.EditorTests.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 782de34c17796430ba8d0ceddb60944e
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: