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); }
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()); }