public async Task ArtistController_TestItemLookup() { var expected = new Artist() { Id = 1, Name = "Test Artist", Albums = new List <Album>() { new Album() { Id = 1, Name = "Test Album", ArtistId = 1 } } }; var artistRepository = Substitute.For <IDataRepository <Artist> >(); artistRepository.FindOneAsync(Arg.Any <Expression <Func <Artist, bool> > >(), Arg.Any <Expression <Func <Artist, object> > >()).Returns(expected); var artistController = new ArtistController(artistRepository); var actionResult = await artistController.Item(1) as ViewResult; var actual = actionResult.Model as Artist; Assert.AreEqual(expected.Name, actual.Name); Assert.AreEqual(expected.Albums.Count, actual.Albums.Count); }
protected void UpdateArtistButton_Click(object sender, EventArgs e) { #region My validation to ensure a name is presented for the artist string name = ArtistName.Text.Trim(); if (string.IsNullOrEmpty(name)) { ArtistName.Text = "!!!Invalid_!_Name!!!"; CompareValidator1.IsValid = false; Page.Validate(); ArtistName.Text = ""; } #endregion if (Page.IsValid) { try { ArtistController ac = new ArtistController(); ac.UpdateArtist(int.Parse(UpdatingArtistID.Text), ArtistName.Text); LoadData(); Message.Text = "Artist of ID " + UpdatingArtistID.Text + " has sucessfuly been renamed as " + ArtistName.Text; ChangeEditMode(false, "", "-1"); } catch (Exception ex) { Message.Text = GetInnerException(ex).Message; } } }
public async void BulkInsert_No_Errors() { ArtistControllerMockFacade mock = new ArtistControllerMockFacade(); var mockResponse = ValidationResponseFactory <ApiArtistServerResponseModel> .CreateResponse(null as ApiArtistServerResponseModel); mockResponse.SetRecord(new ApiArtistServerResponseModel()); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiArtistServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiArtistServerResponseModel> >(mockResponse)); ArtistController controller = new ArtistController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var records = new List <ApiArtistServerRequestModel>(); records.Add(new ApiArtistServerRequestModel()); IActionResult response = await controller.BulkInsert(records); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); var result = (response as OkObjectResult).Value as CreateResponse <List <ApiArtistServerResponseModel> >; result.Success.Should().BeTrue(); result.Record.Should().NotBeEmpty(); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiArtistServerRequestModel>())); }
public async Task Index_ReturnsView() { List <Artist> artistSource = new List <Artist> { new Artist { Name = "Kaskade" }, new Artist { Name = "Foxxx" } }; Mock <BackendProvider> mockBackend = new Mock <BackendProvider>(autoMapper); mockBackend.Setup(m => m.ArtistGetAllAsync()).ReturnsAsync(artistSource.OrderBy(a => a.Name).ToList()); ArtistController controller = new ArtistController(mockBackend.Object, autoMapper); ViewResult result = (await controller.Index()) as ViewResult; List <ArtistViewModel> viewModel = result.Model as List <ArtistViewModel>; Assert.IsNotNull(result); Assert.IsNotNull(viewModel); Assert.AreEqual(2, viewModel.Count); Assert.AreEqual("Foxxx", viewModel[0].Name); Assert.AreEqual("Kaskade", viewModel[1].Name); }
protected void LoadArtistList() { // user friendly error handling (aka try/catch) //use the usercontrol MessageUserControl to manage the // error handling for the web page when control // leaves the web page and goes to the class library MessageUserControl.TryRun(() => { //what goes inside the coding block? //your code that would normally be inside the try portion of a try/catch ArtistController sysmgr = new ArtistController(); List <SelectionList> info = sysmgr.Artists_DDLList(); //let's assume the data collection needs to be sorted info.Sort((x, y) => x.DisplayField.CompareTo(y.DisplayField)); //setup the ddl ArtistList.DataSource = info; //ArtistList.DataTextField = "DisplayField"; ArtistList.DataTextField = nameof(SelectionList.DisplayField); ArtistList.DataValueField = nameof(SelectionList.ValueField); ArtistList.DataBind(); //setup of a prompt line ArtistList.Items.Insert(0, new ListItem("select ...", "0")); }, "Success title message", "the succes title and body message are optional"); }
public void BeforeEachTest() { _fixture = new Fixture().Customize(new AutoMoqCustomization { ConfigureMembers = true }); _inMemoryMusicDbContext = new MusicDbContext(new DbContextOptionsBuilder <MusicDbContext>() .UseInMemoryDatabase("TestDB") .Options); _fixture.Inject <MusicDbContext>(_inMemoryMusicDbContext); _inMemoryMusicDbContext.Database.EnsureDeleted(); _inMemoryMusicDbContext.Database.EnsureCreated(); _inMemoryMusicDbContext.Artists.Add(new Artist { Name = "Artist1" }); _inMemoryMusicDbContext.Artists.Add(new Artist { Name = "Artist2" }); _inMemoryMusicDbContext.SaveChanges(); _sut = _fixture .Build <ArtistController>() .OmitAutoProperties() .Create(); }
public async void Patch_No_Errors() { ArtistControllerMockFacade mock = new ArtistControllerMockFacade(); var mockResult = new Mock <UpdateResponse <ApiArtistServerResponseModel> >(); mockResult.SetupGet(x => x.Success).Returns(true); mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiArtistServerRequestModel>())) .Callback <int, ApiArtistServerRequestModel>( (id, model) => model.AspNetUserId.Should().Be("A") ) .Returns(Task.FromResult <UpdateResponse <ApiArtistServerResponseModel> >(mockResult.Object)); mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiArtistServerResponseModel>(new ApiArtistServerResponseModel())); ArtistController controller = new ArtistController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiArtistServerModelMapper()); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); var patch = new JsonPatchDocument <ApiArtistServerRequestModel>(); patch.Replace(x => x.AspNetUserId, "A"); IActionResult response = await controller.Patch(default(int), patch); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); mock.ServiceMock.Verify(x => x.Update(It.IsAny <int>(), It.IsAny <ApiArtistServerRequestModel>())); }
protected void AddArtistButton_Click(object sender, EventArgs e) { #region My validation to ensure a name is presented for the artist string name = ArtistName.Text.Trim(); if (string.IsNullOrEmpty(name)) { ArtistName.Text = "!!!Invalid_!_Name!!!"; CompareValidator1.IsValid = false; Page.Validate(); ArtistName.Text = ""; } #endregion if (Page.IsValid) { try { ArtistController ac = new ArtistController(); int newArtistID = ac.AddArtist(ArtistName.Text); LoadData(); Message.Text = "Artist " + ArtistName.Text + " has sucessfuly been added with an ID of " + newArtistID; } catch (Exception ex) { Message.Text = GetInnerException(ex).Message; } } }
public void GetAsyncTest() { using (var cursor = Substitute.For <ICursor>()) { cursor.GetInt(0).Returns(0); cursor.GetString(1).Returns("string"); cursor.GetColumnIndex("id").Returns(0); cursor.GetColumnIndex("name").Returns(1); using (var dataAccess = Substitute.For <IDataAccess>()) { dataAccess.ExecuteQueryWithParametersAsync(Arg.Any <string>(), Arg.Any <List <SQLiteParameter> >()).Returns(cursor); using (var artistController = new ArtistController(dataAccess)) { var artists = artistController.GetAsync().Result.ToList(); Assert.IsNotNull(artists); Assert.IsInstanceOf <List <Artist> >(artists); Assert.AreEqual(1, artists.Count); Assert.AreEqual(0, artists[0].Id); Assert.AreEqual("string", artists[0].Name); } } } }
public void GetAlbumsAsyncTest() { using (var cursor = Substitute.For <ICursor>()) { cursor.GetInt(0).Returns(13); cursor.GetString(1).Returns("string"); cursor.GetInt(2).Returns(13); cursor.GetInt(3).Returns(7); cursor.GetInt(4).Returns(1999); cursor.GetColumnIndex("id").Returns(0); cursor.GetColumnIndex("name").Returns(1); cursor.GetColumnIndex("artist_id").Returns(2); cursor.GetColumnIndex("genre_id").Returns(3); cursor.GetColumnIndex("year").Returns(4); using (var dataAccess = Substitute.For <IDataAccess>()) { dataAccess.ExecuteQueryWithParametersAsync(Arg.Any <string>(), Arg.Any <List <SQLiteParameter> >()).Returns(cursor); using (var artistController = new ArtistController(dataAccess)) { var albums = artistController.GetAlbumsAsync("string").Result; Assert.IsNotNull(albums); Assert.IsInstanceOf <List <Album> >(albums); Assert.AreEqual(1, albums.Count); Assert.AreEqual(13, albums[0].Id); Assert.AreEqual("string", albums[0].Name); Assert.AreEqual(13, albums[0].ArtistId); Assert.AreEqual(7, albums[0].GenreId); Assert.AreEqual(1999, albums[0].Year); } } } }
public void Create_ReturnsCorrectActionType_RedirectToActionResult() { ArtistController controller = new ArtistController(); ActionResult createView = controller.Create("QOTSA"); Assert.IsInstanceOfType(createView, typeof(RedirectToActionResult)); }
public ArtistControllerTests() { service = new Mock <IArtistService>(); controller = new ArtistController(service.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); }
private void CargarCombo() { ddlArtista.DataSource = ArtistController.ListaArtist(); ddlArtista.DataTextField = "Name"; ddlArtista.DataValueField = "Name"; ddlArtista.DataBind(); ddlArtista.Items.Insert(0, new ListItem("Seleccionar", "0")); }
public async void AddAction_ReturnsCCreatedAtRouteResult_WithValidInput() { _repoMock.Setup(m => m.AddAsync(It.IsAny <Artist>())).ReturnsAsync(new ArtistDetail()); ArtistController ctrl = new ArtistController(_repoMock.Object, _loggerMock.Object); Artist input = CreateValidCreateModel(); IActionResult result = await ctrl.Add(input); Assert.IsType <CreatedAtRouteResult>(result); }
public async void Updatection_ReturnsBadRequestOBjectResult_WhenRepoThrowsRepositoryException() { _repoMock.Setup(m => m.UpdateAsync(It.IsAny <int>(), It.IsAny <Artist>())).ThrowsAsync(new RepositoryException("Invalid genre")); ArtistController ctrl = new ArtistController(_repoMock.Object, _loggerMock.Object); Artist input = CreateValidCreateModel(); IActionResult result = await ctrl.Update(1111, input); Assert.IsType <BadRequestObjectResult>(result); }
public async void UpdateAction_ReturnsNotFoundObjectResult_WhenRepoThrowsEntityNotFoundRepositoryException() { _repoMock.Setup(m => m.UpdateAsync(It.IsAny <int>(), It.IsAny <Artist>())).ThrowsAsync(new EntityNotFoundRepositoryException("Artist not found")); ArtistController ctrl = new ArtistController(_repoMock.Object, _loggerMock.Object); Artist input = CreateValidCreateModel(); IActionResult result = await ctrl.Update(1111, input); Assert.IsType <NotFoundObjectResult>(result); }
public void Create_ReturnsView() { Mock <BackendProvider> mockBackend = new Mock <BackendProvider>(autoMapper); ArtistController controller = new ArtistController(mockBackend.Object, autoMapper); ViewResult result = (controller.Create()) as ViewResult; Assert.IsNotNull(result); }
public void Create_ReturnsCorrectActionType_RedirectToActionResult() { //Arrange ArtistController controller = new ArtistController(); //Act IActionResult view = controller.Create("Walk the dog") as ViewResult; //Assert Assert.IsInstanceOfType(view, typeof(ActionResult)); }
public void Index_ReturnsAViewResult_True() { //Arrange ArtistController controller = new ArtistController(); //Act ActionResult indexView = controller.Index(); //Assert Assert.IsInstanceOfType(indexView, typeof(ViewResult)); }
public void Index_HasCorrectModelType_ArtistsList() { //Arrange ViewResult indexView = new ArtistController().Index() as ViewResult; //Act var result = indexView.ViewData.Model; //Assert Assert.IsInstanceOfType(result, typeof(List <Artist>)); }
public async Task TestInvalidMusicBrainzRequest_ShouldReturnValidJsonString() { // Proper test? Fails if content changes string uri = "http://musicbrainz.org/ws/2/artist/X53b106e7-0cc6-42cc-ac95-ed8d30a3a98e?&fmt=json&inc=url-rels+release-groups"; string expectedResponse = ""; var memory = new InMemoryCache(1, new MemoryCache("unit-test-cache2")); var controller = new ArtistController(new MusicGenieClient(memory, 1, 1, 1)); var result = await controller.MakeRequest(uri); Assert.AreEqual(expectedResponse, result); }
public void TestArtistDeleteItem() { //Arrange var SqlLiteDataMock = new Mock <IMusicData>(); var ArtistController = new ArtistController(SqlLiteDataMock.Object); //Act ActionResult actionResult = ArtistController.ArtistDeleteItem(-1); // Assert Assert.IsType <NotFoundObjectResult>(actionResult); }
public void TestArtistGetAllItems() { //Arrange var SqlLiteDataMock = new Mock <IMusicData>(); var ArtistController = new ArtistController(SqlLiteDataMock.Object); //Act ActionResult actionResult = ArtistController.ArtistGetAllItems(); //Assert Assert.IsType <OkObjectResult>(actionResult); }
public void Create_RedirectsToCorrectAction_Index() { //Arrange ArtistController controller = new ArtistController(); RedirectToActionResult actionResult = controller.Create("Walk the dog") as RedirectToActionResult; //Act string result = actionResult.ActionName; //Assert Assert.AreEqual(result, "Index"); }
public async Task TestWikipediaRequest_ShouldReturnValidJsonString() { // Proper test? Fails if content changes string uri = "https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&exintro=true&redirects=true&titles=pink_floyd"; string expectedResponse = GetPinkFloydSummary; var memory = new InMemoryCache(1, new MemoryCache("unit-test-cache2")); var controller = new ArtistController(); var result = await controller.MakeRequest(uri); Assert.AreEqual(expectedResponse, result); }
public void Create_HasCorrectModelType_ArtistObject() { //Arrange ArtistController createView = new ArtistController(); ViewResult createObject = createView.Create("QOTSA") as ViewResult; //Act var result = createView.ViewData.Model; //Assert Assert.IsInstanceOfType(result, typeof(Artist)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AppForm appForm = new AppForm(); ArtistController artistController = new ArtistController(appForm); UserController userController = new UserController(appForm); Songcontroller songcontroller = new Songcontroller(appForm); VideoController videoController = new VideoController(appForm); Application.Run(appForm); }
public async Task TestInvalidWikipediaRequest_ShouldEmptyString() { // Proper test? Fails if content changes string uri = "https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&exintro=true&redirects=true&titles="; string expectedResponse = "{\"batchcomplete\":\"\"}"; var memory = new InMemoryCache(1, new MemoryCache("unit-test-cache2")); var controller = new ArtistController(); var result = await controller.MakeRequest(uri); Assert.AreEqual(expectedResponse, result); }
public async Task Edit_NotFoundItem_RedirectsToIndex() { Mock <BackendProvider> mockBackend = new Mock <BackendProvider>(autoMapper); mockBackend.Setup(m => m.ArtistGetByIDAsync(It.IsAny <int>())).ReturnsAsync((Artist)null); ArtistController controller = new ArtistController(mockBackend.Object, autoMapper); RedirectToRouteResult result = (await controller.Edit(1)) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); }
protected void BindArtistList() { ArtistController sysmgr = new ArtistController(); List <Artist> info = sysmgr.Artist_List(); info.Sort((x, y) => x.Name.CompareTo(y.Name)); ArtistList.DataSource = info; ArtistList.DataTextField = nameof(Artist.Name); ArtistList.DataValueField = nameof(Artist.ArtistId); ArtistList.DataBind(); //ArtistList.Items.Insert(0, "select ..."); }