BusinessLogic.Tests.UnitTests.LogicTests.GameDefinitionsTests.BoardGameGeekGameDefinitionCreatorTests.CreateBoardGameGeekGameDefinitionTests.ItCreatesANewRecordIfOneDoesNotExist C# (CSharp) Method

ItCreatesANewRecordIfOneDoesNotExist() private method

private ItCreatesANewRecordIfOneDoesNotExist ( ) : void
return void
        public void ItCreatesANewRecordIfOneDoesNotExist()
        {
            autoMocker.Get<IDataContext>().Expect(mock => mock.FindById<BoardGameGeekGameDefinition>(boardGameGeekGameDefinitionId))
                .Throw(new EntityDoesNotExistException(typeof(BoardGameGeekGameDefinition), boardGameGeekGameDefinitionId));
            var expectedGameDetails = new GameDetails
            {
                Thumbnail = "some thumbnail",
                Name = "some name",
                Categories = new List<GameCategory>()
            };
            autoMocker.Get<IBoardGameGeekApiClient>().Expect(mock => mock.GetGameDetails(boardGameGeekGameDefinitionId))
                .Return(expectedGameDetails);

            autoMocker.ClassUnderTest.CreateBoardGameGeekGameDefinition(boardGameGeekGameDefinitionId, currentUser);

            var args = autoMocker.Get<IDataContext>().GetArgumentsForCallsMadeOn(mock => mock.Save(
                Arg<BoardGameGeekGameDefinition>.Is.Anything,
                Arg<ApplicationUser>.Is.Anything));

            Assert.That(args.Count, Is.GreaterThan(0));
            var actualBoardGameGeekGameDefinition = args[0][0] as BoardGameGeekGameDefinition;
            Assert.That(actualBoardGameGeekGameDefinition, Is.Not.Null);
            Assert.That(actualBoardGameGeekGameDefinition.Id, Is.EqualTo(boardGameGeekGameDefinitionId));
            Assert.That(actualBoardGameGeekGameDefinition.Thumbnail, Is.EqualTo(expectedGameDetails.Thumbnail));
            Assert.That(actualBoardGameGeekGameDefinition.Name, Is.EqualTo(expectedGameDetails.Name));
        }
    }