public void ExecuteShould_ReturnCityNameNameAlreadyExistsWhenCityFoundInDB() { var countryName = "Mordor"; var country = new CountryMock() { Id = 1, Name = countryName }; var cityName = "Varna"; var city = new CityMock() { Id = 1, Name = cityName, Country = country }; var providerMock = new Mock <ISqlServerDataProvider>(); providerMock.Setup(p => p.Countries.Find(It.IsAny <Expression <Func <Country, bool> > >())).Returns(new List <CountryMock>() { country }); providerMock.Setup(p => p.Cities.Find(It.IsAny <Expression <Func <City, bool> > >())).Returns(new List <CityMock>() { city }); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); string result = command.Execute(new List <string>() { cityName, countryName }); Assert.That(result.Contains($"City {cityName}, {countryName} already exists")); }
public void ConstructorShould_ReturnInstanceOfAddCityCommandClass_WhenThePassedValuesAreValid() { var providerMock = new Mock <ISqlServerDataProvider>(); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); Assert.IsInstanceOf <AddCityCommand>(command); }
public void ExecuteShould_ClearTheScreenOneTIme() { var providerMock = new Mock <ISqlServerDataProvider>(); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); command.Execute(new List <string>()); writerMock.Verify(x => x.Clear(), Times.Once); }
public async Task <ActionResult <Result> > AddCity([FromBody] AddCityCommand command) { var result = await Mediator.Send(command); if (!result.Succeeded) { return(BadRequest(result)); } return(Ok(result)); }
public void ExecuteShould_ReturnNotEnoughParametersWhenTooManyParametersProvided() { var providerMock = new Mock <ISqlServerDataProvider>(); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); string result = command.Execute(new List <string>() { "Varna", "Bulgaria", "Europe", "Earth" }); Assert.That(result.Contains("Not enough parameters!")); }
public async Task <IActionResult> AddCity(CityViewModel viewModel) { var command = new AddCityCommand() { CityName = viewModel.CityName }; var response = await _mediator.Send(command); if (response.Errors.Any()) { return(BadRequest(response)); } else { return(PartialView("_WeatherItem", response.Result)); } }
public void ExecuteShould_ReturnNoCountryNameExistsWhenCountryNotFoundInDB() { var providerMock = new Mock <ISqlServerDataProvider>(); providerMock.Setup(m => m.Countries.Equals(new List <CountryMock>() { null })); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); string result = command.Execute(new List <string>() { "Varna", "Mordor" }); Assert.That(result.Contains("No country Mordor exists")); }
public async Task <IActionResult> Post(AddCityModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model.CommandId == Guid.Empty) { model.CommandId = NewId.NextGuid(); } var command = new AddCityCommand(model); await Send(command); return(Accepted(new PostResult <AddCityCommand>() { CommandId = model.Id, Timestamp = command.Timestamp })); }
public void ExecuteShould_ReturnCitySuccessfullyAddedIfCityIsAddedToDB() { var countryName = "Mordor"; var country = new CountryMock() { Id = 1, Name = countryName }; var cityName = "Varna"; var city = new CityMock() { Id = 1, Name = cityName, Country = country }; var providerMock = new Mock <ISqlServerDataProvider>(); providerMock.Setup(p => p.Countries.Find(It.IsAny <Expression <Func <Country, bool> > >())).Returns(new List <CountryMock>() { country }); providerMock.Setup(p => p.Cities.Find(It.IsAny <Expression <Func <City, bool> > >())).Returns(new List <CityMock>() { null }); providerMock.Setup(p => p.Cities.Add(It.IsAny <City>())).Verifiable(); providerMock.Setup(p => p.UnitOfWork.Finished()).Verifiable(); var writerMock = new Mock <IWriter>(); var command = new AddCityCommand(providerMock.Object, writerMock.Object); string result = command.Execute(new List <string>() { "Plovdiv", countryName }); Assert.That(result.Contains($"City Plovdiv was successfully added")); }