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);
        }
Beispiel #2
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
 }