public async Task DeleteByIdAsync_ShouldSuccessfullyDelete() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); await this.SeedDataAsync(context); var truckService = new TruckService(context); var deleteTruckServiceModel = new DeleteTruckServiceModel(); deleteTruckServiceModel.Id = 1; await truckService.DeleteByIdAsync(deleteTruckServiceModel.Id); var expectedResult = 1; var actualResult = truckService .All() .Count(); var expectedResult2 = "TRN 2"; var actualResult2 = truckService .All() .First() .RegistrationNumber; Assert.True(expectedResult == actualResult); Assert.True(expectedResult2 == actualResult2); }
public void SetUp() { _productRepository = A.Fake <IProductRepository>(); A.CallTo(() => _productRepository.GetProductById(TestId1)).Returns((_testProd1)); _truckService = new TruckService(_productRepository); }
public void SetUp() { _productRepository = A.Fake <IProductRepository>(); A.CallTo(() => _productRepository.GetProductById(17)).Returns(TestProduct1); A.CallTo(() => _productRepository.GetProductById(9)).Returns(TestProduct2); A.CallTo(() => _productRepository.GetProductById(1)).Returns(TestProduct3); _truckService = new TruckService(_productRepository); }
public async Task CreateAsync_WithOverMaxNameLengthShouldThrowInvalidOperationException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var truckService = new TruckService(context); var createTruckServiceModel = new CreateTruckServiceModel(); var truckRegistrationNumber = "qwertyuiop qwertyuiop qwertyuiop qwertyuiop qwertyuiop"; createTruckServiceModel.RegistrationNumber = truckRegistrationNumber; var message = "Truck's Registration number cannot be more than 8 characters."; var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { await truckService.CreateAsync(createTruckServiceModel); }); Assert.Equal(message, exception.Message); }
public async Task Atualizar_Truck_Valido() { //Arrange var options = new DbContextOptionsBuilder <SqlContext>() .UseInMemoryDatabase(databaseName: $"Test_Sql{Guid.NewGuid()}") .Options; TruckCollectionFixture._truckFixture = new TruckFixture(); var listModelObj = TruckCollectionFixture._truckFixture.GetModelList(); var TruckObj = TruckCollectionFixture._truckFixture.GetTruckViewModelRequestMock(); //Act using (var context = new SqlContext(options)) { _modelRepoMock = new Mock <IModelRepository>(); _modelRepoMock.Setup(r => r.GetAllAsync()) .ReturnsAsync(listModelObj); var truckRepo = new TruckRepository(context, new Mock <ILogger <TruckRepository> >().Object); var service = new TruckService( truckRepo, _mapperCreated, new Mock <ILogger <TruckService> >().Object, _modelRepoMock.Object ); await service.InsertTruck(TruckObj); var nomeNovo = Guid.NewGuid().ToString(); TruckObj.Nome = nomeNovo; await service.UpdateTruck(TruckObj, TruckObj.Id); var retorno = await service.GetAllTrucks(); //Assert Assert.Equal(retorno.Result.First().Nome, nomeNovo); } }
public TruckController() { truckService = new TruckService(); }
public async Task LoadTruckOpeningsAsync() { var TruckOpenings = await KnownException.Wrap(() => TruckService.GetTruckOpenings(), "Cannot get the latest opening information. Please refresh when online"); LoadTruckOpeningVMs(TruckOpenings); }
public MainVM() { Openings = new ObservableCollection <TruckOpeningVM>(); Favorites = new ObservableCollection <FavoriteTruckVM>(); HomeCommand = new Command(() => { Repository.GetObject <INavigationService>().GotoPage("HomePage"); }); MapCommand = new Command(() => { Repository.GetObject <INavigationService>().GotoPage("MapPage"); }); FavoritesCommand = new Command(() => { Repository.GetObject <INavigationService>().GotoPage("FavoritesPage"); }); SettingsCommand = new Command(() => { Repository.GetObject <INavigationService>().GotoPage("SettingsPage"); }); RefreshCommand = new Command(async() => { await LoadTruckOpeningsAsync(); }); LoadTruckExecutor = new TaskExecutor <string>(async(TruckId) => { var truck = await KnownException.Wrap <Truck>(() => TruckService.GetTruck(TruckId), "Cannot get truck information"); LoadTruckVM(truck); }); SelectTruckCommand = new Command(async(o) => { var TruckId = o as string; SelectedTruck = null; Repository.GetObject <INavigationService>().GotoPage("TruckPage"); await LoadTruckExecutor.ExecuteAsync(TruckId); }); SendTruckRatingExecutor = new TaskExecutor <TruckVM>(async(o) => { var VM = o as TruckVM; await KnownException.Wrap(() => TruckService.SendRating(VM.Id, (int)VM.Rating), "There was an issue sending the rating"); var truck = await KnownException.Wrap(() => TruckService.GetTruck(VM.Id), "Cannot get the latest truck information"); VM.Rating = truck.Rating; }); ToggleFavoriteCommand = new Command(async(o) => { var VM = o as TruckVM; var Value = VM.IsFavorite; VM.IsFavorite = !VM.IsFavorite; var FoundFav = Favorites.FirstOrDefault(f => f.Id.Equals(VM.Id)); if (Value == false) { if (FoundFav == null) { Favorites.Add(new FavoriteTruckVM() { Id = VM.Id, Title = VM.Title, ImageUrl = VM.ImageUrl, }); } Repository.GetObject <IToastService>().DoBasicToast(VM.Id, "Added Favorite", $"{VM.Title} was added to favorites", VM.ImageUrl); } else { if (FoundFav != null) { Favorites.Remove(FoundFav); } Repository.GetObject <IToastService>().DoBasicToast(VM.Id, "Removed Favorite", $"{VM.Title} was removed from favorites", VM.ImageUrl); } var Favs = Favorites.Select(f => new Favorite() { Id = f.Id, Title = f.Title, ImageUrl = f.ImageUrl, }); await FavoritesService.Save(Favs); }); ToggleTilePinCommand = new Command(async(o) => { var VM = o as TruckVM; var Value = VM.IsPinned; var tps = Repository.GetObject <ITilePinService>(); var IsPinnedAlready = tps.IsPinned(VM.Id); if (Value == false) { if (IsPinnedAlready == false) { VM.IsPinned = await tps.PinTile(VM.Id, VM.Title, VM.ImageUrl); } else { VM.IsPinned = true; } } else { if (IsPinnedAlready == true) { await tps.UnPinTile(VM.Id); } VM.IsPinned = false; } }); ClearFavoritesCommand = new Command(async() => { await FavoritesService.Clear(); Favorites.Clear(); }); }