コード例 #1
0
        public void DeletePetCommand_Execute_Should_Call_UserRepo()
        {
            // Arrange
            var users  = new Mock <IUserRepository>();
            var pets   = new Mock <IPetRepository>();
            var writer = new Mock <IWriter>();
            var user   = new Mock <IUser>();

            user.SetupGet(m => m.PhoneNumber).Returns("123456");
            users.SetupGet(m => m.Users).Returns(new List <IUser>()
            {
                user.Object
            });

            var deletePetCommand = new DeletePetCommand(pets.Object, users.Object, writer.Object);

            deletePetCommand.Parameters = new List <string> {
                "deletepet", "123456", "Kitty"
            };

            // Act
            deletePetCommand.Execute();

            // Assert
            users.Verify(m => m.Users, Times.Once);
        }
コード例 #2
0
        public void DeletePetCommand_Constructor_Should_Throw_ArgumentNullException_When_Writer_Is_Null()
        {
            // Arrange
            var users = new Mock <IUserRepository>();
            var pets  = new Mock <IPetRepository>();

            ICommand deletePetCommand;

            // Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => deletePetCommand = new DeletePetCommand
                                                                                        (pets.Object, users.Object, null));
        }
コード例 #3
0
        public async Task <bool> Handle(DeletePetCommand command)
        {
            return(await Task.Run(() =>
            {
                if (command == null)
                {
                    return false;
                }

                return command.Id != default(int);
            }));
        }
コード例 #4
0
        public void DeletePetCommand_Execute_Should_Throw_ArgumentNullException_When_User_Not_Found()
        {
            // Arrange
            var users  = new Mock <IUserRepository>();
            var pets   = new Mock <IPetRepository>();
            var writer = new Mock <IWriter>();
            var pet    = new Mock <IPet>();
            var user   = new Mock <IUser>();

            user.SetupGet(m => m.PhoneNumber).Returns("123456");
            users.SetupGet(m => m.Users).Returns(new List <IUser>());

            var deletePetCommand = new DeletePetCommand(pets.Object, users.Object, writer.Object);

            deletePetCommand.Parameters = new List <string> {
                "deletepet", "123456", "Kitty"
            };

            // Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => deletePetCommand.Execute());
        }
コード例 #5
0
        public async Task <IHttpActionResult> Delete(DeletePetCommand delete)
        {
            var commandResult = await DeleteHandler.Handle(delete);

            return(commandResult ? (IHttpActionResult)Ok() : BadRequest());
        }