Ejemplo n.º 1
0
        public async Task UserPetService_FeedPet()
        {
            //Arrange
            var userPetRepoMock   = new Mock <IUserPetRepository>();
            var petServiceMock    = new Mock <IPetService>();
            var userServiceMock   = new Mock <IUserService>();
            var actionServiceMock = new Mock <IActionService>();
            var userPetService    = new UserPetService(userPetRepoMock.Object, petServiceMock.Object, userServiceMock.Object, actionServiceMock.Object);
            var userPet           = GetUserPetTest();
            var actionType        = ActionTypeEnum.Feed;
            var action            = new Domain.Entity.Action
            {
                ActionType = actionType, Date = new DateTime(2019, 9, 5), Id = 1, UserPet = userPet
            };

            userPetRepoMock.Setup(repo => repo.GetUserPet(userPet.Id))
            .ReturnsAsync(userPet)
            .Verifiable();

            userPetRepoMock.Setup(repo => repo.UpdateUserPet(userPet))
            .ReturnsAsync(userPet)
            .Verifiable();

            actionServiceMock.Setup(service => service.CreateAction(actionType, userPet))
            .ReturnsAsync(action)
            .Verifiable();

            //Act
            var result = await userPetService.FeedPet(userPet.Id);

            Assert.IsType <UserPet>(result);
            actionServiceMock.Verify();
            userPetRepoMock.Verify();
        }
Ejemplo n.º 2
0
        public async Task UserPetService_FeedPet_NullUserPet()
        {
            //Arrange
            var userPetRepoMock   = new Mock <IUserPetRepository>();
            var petServiceMock    = new Mock <IPetService>();
            var userServiceMock   = new Mock <IUserService>();
            var actionServiceMock = new Mock <IActionService>();
            var userPetService    = new UserPetService(userPetRepoMock.Object, petServiceMock.Object, userServiceMock.Object, actionServiceMock.Object);

            userPetRepoMock.Setup(repo => repo.GetUserPet(2))
            .ReturnsAsync((UserPet)null)
            .Verifiable();

            //Act
            var result = await userPetService.FeedPet(2);

            Assert.Null(result);
            actionServiceMock.Verify(service => service.CreateAction(ActionTypeEnum.Feed, It.IsAny <UserPet>()), Times.Never());
            userPetRepoMock.Verify();
        }