public async void Update_ErrorsOccurred_ShouldReturnErrorResponse() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); var model = new ApiBreedServerRequestModel(); var validatorMock = new Mock <IApiBreedServerRequestModelValidator>(); validatorMock.Setup(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiBreedServerRequestModel>())).Returns(Task.FromResult(new ValidationResult(new List <ValidationFailure>() { new ValidationFailure("text", "test") }))); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Breed())); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, validatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); UpdateResponse <ApiBreedServerResponseModel> response = await service.Update(default(int), model); response.Should().NotBeNull(); response.Success.Should().BeFalse(); validatorMock.Verify(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiBreedServerRequestModel>())); mock.MediatorMock.Verify(x => x.Publish(It.IsAny <BreedUpdatedNotification>(), It.IsAny <CancellationToken>()), Times.Never()); }
public static void Main() { using var data = new PetStoreDbContext(); var userService = new UserSerice(data); var breedService = new BreedService(data); var categoryService = new CategoryService(data); var petService = new PetService(data, breedService, categoryService, userService); petService.BuyPet(Data.Models.Gender.Male, DateTime.Now, 0m, null, 1, 1); petService.SellPet(1, 1); }
public static void Main() { using var data = new PetStoreDbContext(); var userService = new UserService(data); var toyServie = new ToyService(data, userService); var breedService = new BreedService(data); var categoryService = new CategoryService(data); var petService = new PetService(data, breedService, categoryService, userService); //petService.BuyPet(Data.Models.Enumerations.Gender.Male, DateTime.Now, 35.5m, 1, 3, "Cute"); petService.SellPet(1, 1); }
private static void SeedData(PetStoreDbContext data) { var breedService = new BreedService(data); for (int i = 1; i < 10; i++) { breedService.Add("Breed " + i); } var categoryService = new CategoryService(data); for (int i = 1; i < 10; i++) { categoryService.Create("Category " + i); } var petService = new PetService(data, breedService, categoryService); for (int i = 0; i < 50; i++) { var breedId = data.Breeds .OrderBy(b => Guid.NewGuid()) .Select(b => b.Id) .FirstOrDefault(); var categoryId = data.Categories .OrderBy(c => Guid.NewGuid()) .Select(c => c.Id) .FirstOrDefault(); petService.BuyPet(new Pet() { BreedId = breedId, CategoryId = categoryId, DateOfBirth = DateTime.Now.AddDays(2 * i), Gender = (Gender)(i % 2), Price = 10 + 3 * i }); } var brandService = new BrandService(data); for (int i = 1; i < 10; i++) { brandService.Add("Brand " + i); } data.SaveChanges(); }
public async void Get_ShouldReturnNullBecauseRecordNotFound() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <Breed>(null)); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); ApiBreedServerResponseModel response = await service.Get(default(int)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public async void PetsByBreedId_Not_Exists() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); mock.RepositoryMock.Setup(x => x.PetsByBreedId(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <Pet> >(new List <Pet>())); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); List <ApiPetServerResponseModel> response = await service.PetsByBreedId(default(int)); response.Should().BeEmpty(); mock.RepositoryMock.Verify(x => x.PetsByBreedId(default(int), It.IsAny <int>(), It.IsAny <int>())); }
public static void Main(string[] args) { using var db = new PetStoreDbContext(); var brandService = new BrandService(db); var categoryService = new CategoryService(db); var toyService = new ToyService(db); var foodService = new FoodService(db); var orderService = new OrderService(db); var userService = new UserService(db); var breedService = new BreedService(db); var petService = new PetService(db); //Pet seeder //for (int i = 0; i < 7; i++) //{ // string name = "Dragan" + " " + i; // DateTime dateTime = new DateTime(2020 + i / 08 + i / 03 + i); // decimal price = 20 + i; // var pet = new Pet() // { // Name=name, // Birthdate=dateTime, // Gender=AnimalGender.Female, // Price=price, // BreedId=2, // CategoryId=1, // OrderId=7 // }; // db.Pets.Add(pet); // db.SaveChanges(); //} }
public async void Get() { var mock = new ServiceMockFacade <IBreedRepository>(); var record = new Breed(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(record)); var service = new BreedService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLBreedMapperMock, mock.DALMapperMockFactory.DALBreedMapperMock, mock.BOLMapperMockFactory.BOLPetMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); ApiBreedResponseModel response = await service.Get(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public async void All_ShouldReturnRecords() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); var records = new List <Breed>(); records.Add(new Breed()); mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(records)); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); List <ApiBreedServerResponseModel> response = await service.All(); response.Should().HaveCount(1); mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())); }
public async void BySpeciesId_Exists() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); var records = new List <Breed>(); records.Add(new Breed()); mock.RepositoryMock.Setup(x => x.BySpeciesId(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records)); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); List <ApiBreedServerResponseModel> response = await service.BySpeciesId(default(int)); response.Should().NotBeEmpty(); mock.RepositoryMock.Verify(x => x.BySpeciesId(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())); }
public async void Create() { var mock = new ServiceMockFacade <IBreedRepository>(); var model = new ApiBreedRequestModel(); mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Breed>())).Returns(Task.FromResult(new Breed())); var service = new BreedService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLBreedMapperMock, mock.DALMapperMockFactory.DALBreedMapperMock, mock.BOLMapperMockFactory.BOLPetMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); CreateResponse <ApiBreedResponseModel> response = await service.Create(model); response.Should().NotBeNull(); mock.ModelValidatorMockFactory.BreedModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiBreedRequestModel>())); mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Breed>())); }
public async void Delete() { var mock = new ServiceMockFacade <IBreedRepository>(); var model = new ApiBreedRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new BreedService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLBreedMapperMock, mock.DALMapperMockFactory.DALBreedMapperMock, mock.BOLMapperMockFactory.BOLPetMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.BreedModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); }
public async void Delete_NoErrorsOccurred_ShouldReturnResponse() { var mock = new ServiceMockFacade <IBreedService, IBreedRepository>(); var model = new ApiBreedServerRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new BreedService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.BreedModelValidatorMock.Object, mock.DALMapperMockFactory.DALBreedMapperMock, mock.DALMapperMockFactory.DALPetMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); response.Success.Should().BeTrue(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.BreedModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); mock.MediatorMock.Verify(x => x.Publish(It.IsAny <BreedDeletedNotification>(), It.IsAny <CancellationToken>())); }
public static void Main() { using var data = new PetStoreDbContext(); data.Database.Migrate(); // Services var brandService = new BrandService(data); var breedService = new BreedService(data); var categoryService = new CategoryService(data); var userService = new UserService(data); var foodService = new FoodService(data, userService); var petService = new PetService(data, categoryService, breedService, userService); var toyService = new ToyService(data, userService); brandService.Create("Whiskas"); brandService.Create("9Lives"); brandService.Create("Friskies"); brandService.Create("Halo"); breedService.Add("Abyssian"); breedService.Add("Birman"); breedService.Add("Bengal"); breedService.Add("Chartreux"); categoryService.Add("Cat", "A cat is some cute animal"); categoryService.Add("Dog", "The dog is another cute animal"); categoryService.Add("Whale"); categoryService.Add("Parrot"); foodService.BuyFromDistributor("Meaty Bits", 156, 2, 3.50m, DateTime.Now.AddDays(30), brandService.GetIdByName("Friskies"), categoryService.GetIdByName("Cat")); foodService.BuyFromDistributor("Meaty Nuggets", 400, 3, 5.75m, DateTime.Now.AddDays(60), brandService.GetIdByName("Whiskas"), categoryService.GetIdByName("Cat")); foodService.BuyFromDistributor("Hearty Cuts", 168, 3, 1.75m, DateTime.Now.AddDays(42), brandService.GetIdByName("9Lives"), categoryService.GetIdByName("Cat")); foodService.BuyFromDistributor("Holistic Chicken", 149, 2, 2.75m, DateTime.Now.AddDays(15), brandService.GetIdByName("Halo"), categoryService.GetIdByName("Cat")); userService.Register("Atanas Kolev", "*****@*****.**"); userService.Register("Daniel Ivanov", "*****@*****.**"); userService.Register("Georgi Petrov", "*****@*****.**"); userService.Register("Ivan Panagonov", "*****@*****.**"); foodService.SellFoodToUser(foodService.GetIdByName("Meaty Bits"), userService.GetIdByName("Atanas Kolev")); foodService.SellFoodToUser(foodService.GetIdByName("Meaty Nuggets"), userService.GetIdByName("Daniel Ivanov")); foodService.SellFoodToUser(foodService.GetIdByName("Hearty Cuts"), userService.GetIdByName("Georgi Petrov")); foodService.SellFoodToUser(foodService.GetIdByName("Holistic Chicken"), userService.GetIdByName("Ivan Panagonov")); petService.BuyPet(Gender.Male, DateTime.Now.AddDays(-90), 350, "", breedService.GetIdByName("Abyssian"), categoryService.GetIdByName("Cat")); petService.BuyPet(Gender.Female, DateTime.Now.AddDays(-476), 400, "Female cat...", breedService.GetIdByName("Birman"), categoryService.GetIdByName("Cat")); petService.BuyPet(Gender.Female, DateTime.Now.AddDays(-90), 350, "Another female cat", breedService.GetIdByName("Bengal"), categoryService.GetIdByName("Cat")); petService.BuyPet(Gender.Male, DateTime.Now.AddDays(-841), 982, "", breedService.GetIdByName("Chartreux"), categoryService.GetIdByName("Cat")); toyService.BuyFromDistributor("Truck", "", 3.50m, 2, brandService.GetIdByName("Whiskas"), categoryService.GetIdByName("Cat")); toyService.BuyFromDistributor("Car", "", 2.50m, 4, brandService.GetIdByName("9Lives"), categoryService.GetIdByName("Cat")); toyService.BuyFromDistributor("Bear", "", 5.50m, 3, brandService.GetIdByName("Friskies"), categoryService.GetIdByName("Cat")); toyService.BuyFromDistributor("Ball", "", 3.50m, 4, brandService.GetIdByName("Halo"), categoryService.GetIdByName("Cat")); toyService.SellToyToUser(toyService.GetIdByName("Truck"), userService.GetIdByName("Atanas Kolev")); toyService.SellToyToUser(toyService.GetIdByName("Car"), userService.GetIdByName("Atanas Kolev")); toyService.SellToyToUser(toyService.GetIdByName("Bear"), userService.GetIdByName("Daniel Ivanov")); toyService.SellToyToUser(toyService.GetIdByName("Ball"), userService.GetIdByName("Georgi Petrov")); }
public BreedController(BreedService breedService) { _breedService = breedService; }
public BreedsController(BreedService breedService) { this._breedService = breedService; }