Exemplo n.º 1
0
        public void GivenAValidTask_AndReferencesExist_ThatAreNotInGivenList_RemovesExtraReferences()
        {
            // Arrange
            var task = new Task(DefaultPlayer.Id, TaskType.Collectible);

            var existingReference = new GameDataReference(
                19019,
                GameDataReference.GameDataType.Item,
                null,
                "Thunderfury, Blessed Blade of the Windseeker");

            task.GameDataReferences.Add(existingReference);

            Context.Add(task);
            Context.SaveChanges();

            var gameDataReferences = new List <GameDataReferenceItem>();

            var firstExpectedReference = new GameDataReferenceItem(
                null,
                13502,
                GameDataReference.GameDataType.Achievement,
                null,
                "Use the Secret Fish Goggles to collect all the secret fish.");

            var secondExpectedReference = new GameDataReferenceItem(
                null,
                168016,
                GameDataReference.GameDataType.Item,
                "Toy",
                "Hyper-Compressed Ocean");

            gameDataReferences.Add(firstExpectedReference);
            gameDataReferences.Add(secondExpectedReference);

            var dto = new SetGameDataReferencesRequest(task.Id, gameDataReferences);

            // Act
            var result = _controller.SetGameDataReferences(dto);

            var foundTask = Context.Tasks.Find(result.Value);

            // Assert
            foundTask.GameDataReferences.Count.Should().Be(2);
            foundTask.GameDataReferences.Any(gdr => gdr.GameId == existingReference.GameId).Should().BeFalse();
            foundTask.GameDataReferences.Any(gdr => gdr.GameId == firstExpectedReference.GameId).Should().BeTrue();
            foundTask.GameDataReferences.Any(gdr => gdr.GameId == secondExpectedReference.GameId).Should().BeTrue();
        }
Exemplo n.º 2
0
        public void GivenAValidTask_AndValidGameDataReferences_AddsDataReferencesToDatabase()
        {
            // Arrange
            var task = new Task(DefaultPlayer.Id, TaskType.Collectible);

            Context.Add(task);
            Context.SaveChanges();

            var gameDataReferences = new List <GameDataReferenceItem>();

            var firstExpectedReference = new GameDataReferenceItem(
                null,
                13502,
                GameDataReference.GameDataType.Achievement,
                null,
                "Use the Secret Fish Goggles to collect all the secret fish.");

            var secondExpectedReference = new GameDataReferenceItem(
                null,
                168016,
                GameDataReference.GameDataType.Item,
                "Toy",
                "Hyper-Compressed Ocean");

            gameDataReferences.Add(firstExpectedReference);
            gameDataReferences.Add(secondExpectedReference);

            var dto = new SetGameDataReferencesRequest(task.Id, gameDataReferences);

            // Act
            var result = _controller.SetGameDataReferences(dto);

            var foundTask = Context.Tasks.Find(result.Value);

            // Assert
            foundTask.GameDataReferences.Should().NotBeEmpty();
            foundTask.GameDataReferences.Count.Should().Be(2);
            foundTask.GameDataReferences.All(gdr => gdr.Id != 0);
            foundTask.GameDataReferences.Any(gdr => gdr.GameId == firstExpectedReference.GameId).Should().BeTrue();
            foundTask.GameDataReferences.Any(gdr => gdr.GameId == secondExpectedReference.GameId).Should().BeTrue();
        }