GivenTaskWithAppId_Title_Description_Language_Folder_And_Visibility__WhenRunningTask__ShouldPublishWithSettings() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); WorkshopItemChangeSetStub changeSetStub = new WorkshopItemChangeSetStub { ChangeSetValidationResult = (true, null), Title = Title, DescriptionFilePath = DescriptionFilePath, ItemFolderPath = ExpectedDirectoryName, Language = Language, Visibility = WorkshopItemVisibility.Public, Tags = ExpectedTags }; CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, changeSetStub); sut.Run(); IWorkshopItemChangeSet actual = workshopSpy.ReceivedSettings; Assert.AreEqual(AppId, workshopSpy.AppId); Assert.AreEqual(Title, actual.Title); Assert.AreEqual(DescriptionFilePath, actual.DescriptionFilePath); Assert.AreEqual(Language, actual.Language); Assert.AreEqual(WorkshopItemVisibility.Public, actual.Visibility); Assert.AreEqual(ExpectedDirectoryName, actual.ItemFolderPath); Assert.AreEqual(ExpectedTags, actual.Tags); }
GivenTaskWithItemId_Title_Description_Folder_And_Visibility__WhenRunningTask__ShouldPublishWithSettings() { WorkshopItemSpy workshopItemSpy = new WorkshopItemSpy(); SteamWorkshopSpy workshopSpy = new SteamWorkshopSpy { WorkshopItemsById = { { ItemId, workshopItemSpy } } }; UpdateSteamWorkshopItemTask sut = new UpdateSteamWorkshopItemTask(workshopSpy) { AppId = AppId, ItemId = ItemId, ChangeSet = new WorkshopItemChangeSetStub { ChangeSetValidationResult = (true, null), Title = Title, DescriptionFilePath = DescriptionFilePath, ItemFolderPath = ExpectedDirectoryName, Visibility = WorkshopItemVisibility.Public, Tags = ExpectedTags } }; sut.Run(); IWorkshopItemChangeSet actual = workshopItemSpy.ReceivedSettings; Assert.AreEqual(AppId, workshopSpy.AppId); Assert.AreEqual(Title, actual.Title); Assert.AreEqual(DescriptionFilePath, actual.DescriptionFilePath); Assert.AreEqual(WorkshopItemVisibility.Public, actual.Visibility); Assert.AreEqual(ExpectedDirectoryName, actual.ItemFolderPath); Assert.AreEqual(ExpectedTags, actual.Tags); }
GivenTaskWithAppId__WhenRunningTask__ShouldSetAppIdThenPublishThenShutdown() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, CreateValidChangeSet()); sut.Run(); AssertSetAppIdThenPublishThenShutdown(workshopSpy); }
public void GivenTaskWithInvalidNewChangeSet__WhenRunningTask__ShouldThrowExceptionFromChangeSet() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, CreateInvalidChangeSet()); Action actual = () => sut.Run(); Assert.ThrowsException <InvalidOperationException>(actual); }
GivenConfiguredTaskWithoutLanguage_And_Visibility__WhenRunningTask__ShouldPublishWith_EmptyDescription_PrivateVisibility_And_EnglishLanguage() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, CreateValidChangeSet()); sut.Run(); IWorkshopItemChangeSet actual = workshopSpy.ReceivedSettings; AssertPublishedWithDefaultSettings(actual); }
public void GivenTaskWithoutItemId__WhenRunningTask__ShouldNotInitWorkshop() { SteamWorkshopSpy workshop = new SteamWorkshopSpy(); UpdateSteamWorkshopItemTask sut = new UpdateSteamWorkshopItemTask(workshop) { AppId = AppId, ChangeSet = CreateValidChangeSet() }; InvalidOperationException actual = Assert.ThrowsException <InvalidOperationException>(() => sut.Run()); Assert.IsFalse(workshop.WasInitialized); }
GivenValidTask__WhenRunningTask_ButPublishFails__ShouldShutdownSteamClient() { SteamWorkshopSpy workshopSpy = new SteamWorkshopSpy { WorkshopItemPublishResult = new WorkshopItemPublishResult(AppId, PublishResult.Failed) }; CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, CreateValidChangeSet()); Action action = () => sut.Run(); Assert.ThrowsException <ProcessFailedException>(action); Assert.IsTrue(workshopSpy.WasShutdown); }
public void GivenTaskWithNonExistingItemId__WhenRunningTask__ShouldShutDownSteamClient() { SteamWorkshopSpy workshopSpy = new SteamWorkshopSpy { WorkshopItemsById = { { ItemId, null } } }; UpdateSteamWorkshopItemTask sut = new UpdateSteamWorkshopItemTask(workshopSpy) { AppId = AppId, ItemId = ItemId, ChangeSet = CreateValidChangeSet() }; Action actual = () => sut.Run(); Assert.ThrowsException <WorkshopItemNotFoundException>(actual); Assert.IsTrue(workshopSpy.WasShutdown); }
public void GivenValidTask__WhenRunningTask_ButPublishFails__ShouldShutdownSteamClient() { WorkshopItemStub workshopItemSpy = new WorkshopItemStub { Result = PublishResult.Failed }; SteamWorkshopSpy workshopSpy = new SteamWorkshopSpy { WorkshopItemsById = { { ItemId, workshopItemSpy } } }; UpdateSteamWorkshopItemTask sut = new UpdateSteamWorkshopItemTask(workshopSpy) { AppId = AppId, ItemId = ItemId, ChangeSet = CreateValidChangeSet() }; Action actual = () => sut.Run(); Assert.ThrowsException <ProcessFailedException>(actual); Assert.IsTrue(workshopSpy.WasShutdown); }
private static void AssertSetAppIdThenPublishThenShutdown(SteamWorkshopSpy workshopSpy) { Assert.AreEqual("apd", workshopSpy.CallOrder); }