public void CreatePetCommand_Execute_Should_Call_UserMethod_AddPet() { // Arrange var petFactory = new Mock <IPetFactory>(); 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>(); var dataBase = new List <IPet>(); user.SetupGet(m => m.PhoneNumber).Returns("123456"); user.SetupGet(m => m.Pets).Returns(new List <IPet>()); petFactory.Setup(m => m.CreateCat("Kitty", AnimalGenderType.female, 2)).Returns(pet.Object); users.SetupGet(m => m.Users).Returns(new List <IUser>() { user.Object }); pets.SetupGet(m => m.Pets).Returns(new List <IPet>()); var createPetCommand = new CreatePetCommand (petFactory.Object, users.Object, pets.Object, writer.Object); createPetCommand.Parameters = new List <string> { "createpet", "123456", "cat", "Kitty", "female", "2" }; // Act createPetCommand.Execute(); // Assert user.Verify(m => m.AddPet(pet.Object), Times.Once); }
public IActionResult CreatePetForOwner([FromBody] CreatePetForOwnerModel pet) { var animal = _animalRepository.GetById(pet.AnimalId); if (animal == null) { return(BadRequest()); } var newPetId = Guid.NewGuid(); var cmd = new CreatePetCommand { NewPetId = newPetId, OwnerId = _ownerId, AnimalId = pet.AnimalId, PetDescription = pet.Description, PetName = pet.Name, }; _messaging.Send(cmd); object routeParams = new { id = newPetId }; return(AcceptedAtRoute("GetPetForOwner", routeParams, cmd)); }
public void CreatePetCommand_Execute_Should_Throw_ArgumentNullException_When_User_Not_Found() { // Arrange var petFactory = new Mock <IPetFactory>(); 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 createPetCommand = new CreatePetCommand (petFactory.Object, users.Object, pets.Object, writer.Object); createPetCommand.Parameters = new List <string> { "createpet", "123456", "cat", "Kitty", "female", "2" }; // Act & Assert Assert.ThrowsException <ArgumentNullException>(() => createPetCommand.Execute()); }
public void CreatePetCommand_Constructor_Should_Throw_ArgumentNullException_When_PetRepo_Is_Null() { // Arrange var petFactory = new Mock <IPetFactory>(); var users = new Mock <IUserRepository>(); var writer = new Mock <IWriter>(); ICommand createPetCommand; // Act & Assert Assert.ThrowsException <ArgumentNullException>(() => createPetCommand = new CreatePetCommand (petFactory.Object, users.Object, null, writer.Object)); }
public void CreatePetCommand_Constructor_Should_CreateInstance_Of_Type_ICommand() { // Arrange var petFactory = new Mock <IPetFactory>(); var users = new Mock <IUserRepository>(); var pets = new Mock <IPetRepository>(); var writer = new Mock <IWriter>(); // Act var createPetCommand = new CreatePetCommand (petFactory.Object, users.Object, pets.Object, writer.Object); // Assert Assert.IsInstanceOfType(createPetCommand, typeof(ICommand)); }
public async Task <ActionResult> Create([FromBody] CreatePetCommand command) { try { await Mediator.Send(command); return(Ok()); } catch (UnauthorizedException ex) { return(Unauthorized(ex.Message)); } catch (NotFoundException ex) { return(NotFound(ex.Message)); } }
public async Task <bool> Handle(CreatePetCommand command) { return(await Task.Run(() => { if (string.IsNullOrEmpty(command?.Name) || command.Name.Length < 3) { return false; } if (string.IsNullOrEmpty(command?.OwnerName) || command.OwnerName.Length < 3) { return false; } if (string.IsNullOrEmpty(command.Type) || command.Type.Length < 3) { return false; } return true; })); }
static void Main(string[] args) { for (int i = 0; i < 150; i++) { CreatePetCommand cmd = new CreatePetCommand() { IsFound = r.Next(0, 2) == 0, LPUserId = "1", Colors = "barna;fekete;piros", Gender = (Domain.Entities.PetGender)r.Next(0, 3), Latitude = (double)r.Next(47000, 48000) / (double)1000, Longitude = (double)r.Next(19000, 20000) / (double)1000, ReportedAt = DateTimeOffset.UtcNow.ToUnixTimeSeconds(), Description = "aranyos, kedves, szép", ContactTypes = "1;2" }; string json = JsonConvert.SerializeObject(cmd); client.PostAsync(url, new StringContent(json, Encoding.UTF8, "application/json")); Thread.Sleep(250); } }
public async Task GivenValidData_ReturnOkStatusCode() { var client = await _factory.GetAuthenticatedClientAsync(); var command = new CreatePetCommand { Name = "Wau", Age = 5, Gender = Domain.Enums.Gender.Male, Weight = null, Height = null, IsSterilized = true, Description = "Something about", PhotoCode = "", CategoryId = 1, UserId = 1 }; var content = ClientUtilities.GetRequestContent(command); var response = await client.PostAsync("/api/pets", content); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
public async Task <IHttpActionResult> Put([FromBody] CreatePetCommand create) { var commandResult = await CreateHandler.Handle(create); return(commandResult ? (IHttpActionResult)Ok() : BadRequest()); }
public async Task <ActionResult <string> > Create([FromBody] CreatePetCommand command) { string petId = await Mediator.Send(command); return(Ok(petId)); }
public async void Pet_Trying_Put_Invalid_Pet(CreatePetCommand pet) { var result = await Controller.Put(pet); result.Should().BeOfType <BadRequestResult>(); }
public async void Pet_Put_Valid_Pet(CreatePetCommand pet) { var result = await Controller.Put(pet); result.Should().BeOfType <OkResult>(); }