public void DoesNotReturnsBands_WithoutIncludingGenre()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.Where(x => x.Genre.GenreName.Contains("Metal")).AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands();

            CollectionAssert.AreNotEquivalent(expectedResult, bandResultSet.ToList());
        }
        private BandService CreateBandService()
        {
            var userId  = Guid.Parse(User.Identity.GetUserId());
            var service = new BandService(userId);

            return(service);
        }
        public void ReturnedBands_AreAllInstancesOfBand()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands().ToList();

            CollectionAssert.AllItemsAreInstancesOfType(bandResultSet, typeof(Band));
        }
        public void ReturnAllBands_WithIncludedCountryAndGenre()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var bandResultSet = bandService.GetAllBands();

            CollectionAssert.AreEquivalent(expectedResult, bandResultSet.ToList());
        }
Beispiel #5
0
        public void Returns_AnInstanceOf_Band()
        {
            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bandMock           = new Mock <IDbSet <Band> >();

            contextMock.Setup(x => x.Bands).Returns(bandMock.Object);

            Guid bandId       = Guid.NewGuid();
            Band expectedBand = new Band()
            {
                Id = bandId
            };

            bandMock.Setup(x => x.Find(bandId)).Returns(expectedBand);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            Band actualBand = bandService.GetById(bandId);

            Assert.IsInstanceOf <Band>(actualBand);
        }
Beispiel #6
0
        public void ReturnAllBand_WithTheGivenLetter()
        {
            const string letter = "A";

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);
            var expectedResult = bands.Where(x => x.BandName.Substring(0, 1) == letter).ToList();

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBands(letter);

            CollectionAssert.AreEquivalent(actualResult.ToList(), expectedResult);
        }
Beispiel #7
0
        public void DoesNotReturnABand_WithDifferentStartingLetter()
        {
            const string letter = "A";

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();
            var bands = GetBands();

            var expectedResult = bands.AsQueryable();
            var bandsSetMock   = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBands(letter);

            CollectionAssert.DoesNotContain(actualResult.ToList(), expectedResult.Where(x => x.BandName == "Behemoth"));
        }
Beispiel #8
0
        public void ReturnTheRightCount_OfFoundBands_WithGivenGenre()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Metal";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre).ToList();

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre).ToList();

            Assert.That(expectedResult.Count == actualResult.Count);
        }
Beispiel #9
0
        public void DoesNotReturnBands_WithNonExistingGenre()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Hop";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre);

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre);

            CollectionAssert.IsEmpty(actualResult);
        }
Beispiel #10
0
        public void ReturnBands_WithInstanceOfBand()
        {
            var    contextMock        = new Mock <IMusicLibraryContext>();
            var    contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var    countryServiceMock = new Mock <ICountryService>();
            var    genreServiceMock   = new Mock <IGenreService>();
            var    userServiceMock    = new Mock <IUserService>();
            var    bandFactoryMock    = new Mock <IBandFactory>();
            var    bands         = GetBands();
            string expectedGenre = "Metal";

            var expectedResult = bands.Where(x => x.Genre.GenreName == expectedGenre);

            var bandsSetMock = QueryableDbSetMock.GetQueryableMockDbSet(bands);

            bandsSetMock.Include("Country");
            bandsSetMock.Include("Genre");

            contextMock.Setup(x => x.Bands).Returns(bandsSetMock);

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            var actualResult = bandService.GetBandsByGenre(expectedGenre);

            CollectionAssert.AllItemsAreInstancesOfType(actualResult, typeof(Band));
        }
Beispiel #11
0
        public void RegisterNewBand_CanAddBand()
        {
            var genreData = new Genre()
            {
                Id = Guid.NewGuid(), GenreName = "Metal"
            };
            var countryData = new Country()
            {
                Id = Guid.NewGuid(), CountryName = "Bulgaria"
            };
            var band = new Band();

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();

            countryServiceMock.Setup(x => x.GetById(It.Is <Guid>(g => g == countryData.Id))).Returns(countryData);
            genreServiceMock.Setup(x => x.GetGenre(It.Is <Guid>(g => g == genreData.Id))).Returns(genreData);
            bandFactoryMock.Setup(x => x.CreateBandInstance()).Returns(band);

            var bandDbList    = new List <Band>();
            var bandDbSetMock = new Mock <IDbSet <Band> >();

            bandDbSetMock.Setup(set => set.Add(It.IsAny <Band>())).Callback((Band b) => bandDbList.Add(b));
            contextMock.Setup(x => x.Bands).Returns(bandDbSetMock.Object);

            string bandName      = "SomeBandName";
            int    formationYear = 2016;
            Guid   countryId     = countryData.Id;
            Guid   genreId       = genreData.Id;

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            bandService.RegisterNewBand(bandName, formationYear, genreId, countryId);

            Assert.That(bandDbList.Count(), Is.EqualTo(1));
            Assert.That(bandDbList[0].Genre, Is.SameAs(genreData));
            Assert.That(bandDbList[0].Country, Is.SameAs(countryData));
        }
Beispiel #12
0
        public void RegisterNewBand_ShouldCallTheAddMethod()
        {
            var genreData = new Genre()
            {
                Id = Guid.NewGuid(), GenreName = "Metal"
            };
            var countryData = new Country()
            {
                Id = Guid.NewGuid(), CountryName = "Bulgaria"
            };
            var band = new Band();

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();

            countryServiceMock.Setup(x => x.GetById(It.Is <Guid>(g => g == countryData.Id))).Returns(countryData);
            genreServiceMock.Setup(x => x.GetGenre(It.Is <Guid>(g => g == genreData.Id))).Returns(genreData);
            bandFactoryMock.Setup(x => x.CreateBandInstance()).Returns(band);

            var bandDbList    = new List <Band>();
            var bandDbSetMock = new Mock <IDbSet <Band> >();

            bandDbSetMock.Setup(set => set.Add(It.IsAny <Band>())).Callback((Band b) => bandDbList.Add(b));
            contextMock.Setup(x => x.Bands).Returns(bandDbSetMock.Object).Verifiable();

            string bandName      = "SomeBandName";
            int    formationYear = 2016;
            Guid   countryId     = countryData.Id;
            Guid   genreId       = genreData.Id;

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            bandService.RegisterNewBand(bandName, formationYear, genreId, countryId);

            bandDbSetMock.Verify(mock => mock.Add(It.IsAny <Band>()), Times.Once());
            //contextMock.Verify(mock => mock.Bands.Add(It.IsAny<Band>()), Times.Once());
        }
Beispiel #13
0
        public void RegisterNewBand_ThrowsArgumentNullExceptionWhenNoGenreIsReturned()
        {
            var genreData = new Genre()
            {
                Id = Guid.NewGuid(), GenreName = "Metal"
            };
            var countryData = new Country()
            {
                Id = Guid.NewGuid(), CountryName = "Bulgaria"
            };
            var band = new Band();

            var contextMock        = new Mock <IMusicLibraryContext>();
            var contextBaseMock    = new Mock <IMusicLibraryBaseContext>();
            var countryServiceMock = new Mock <ICountryService>();
            var genreServiceMock   = new Mock <IGenreService>();
            var userServiceMock    = new Mock <IUserService>();
            var bandFactoryMock    = new Mock <IBandFactory>();

            countryServiceMock.Setup(x => x.GetById(It.Is <Guid>(g => g == countryData.Id))).Returns(countryData);
            genreServiceMock.Setup(x => x.GetGenre(It.Is <Guid>(g => g == genreData.Id))).Returns(genreData);
            bandFactoryMock.Setup(x => x.CreateBandInstance()).Returns(band);

            var bandDbList    = new List <Band>();
            var bandDbSetMock = new Mock <IDbSet <Band> >();

            bandDbSetMock.Setup(set => set.Add(It.IsAny <Band>())).Callback((Band b) => bandDbList.Add(b));
            contextMock.Setup(x => x.Bands).Returns(bandDbSetMock.Object);

            string bandName      = "SomeBandName";
            int    formationYear = 2016;
            Guid   countryId     = countryData.Id;
            Guid   genreId       = Guid.NewGuid();

            var bandService = new BandService(
                contextMock.Object,
                contextBaseMock.Object,
                countryServiceMock.Object,
                genreServiceMock.Object,
                userServiceMock.Object,
                bandFactoryMock.Object);

            Assert.That(() => bandService.RegisterNewBand(bandName, formationYear, genreId, countryId), Throws.Exception.TypeOf <ArgumentNullException>());
            Assert.That(() => bandService.RegisterNewBand(bandName, formationYear, genreId, countryId), Throws.Exception.Message.Contains("Parameter name: genre"));
        }
Beispiel #14
0
        public async void CanGetBand()
        {
            using (var setup = new SQLiteInMemorySetup())
            {
                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    context.Database.EnsureCreated();
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    var  service = new BandService(context);
                    Band band    = await service.GetBandAsync(1);

                    Assert.Equal("Sabaton", band.Name);
                }
            }
        }
Beispiel #15
0
        public async void CanDeleteBand()
        {
            using (var setup = new SQLiteInMemorySetup())
            {
                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    context.Database.EnsureCreated();
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    var service = new BandService(context);
                    await service.DeleteBandAsync(7);
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    Assert.Equal(6, context.Bands.Count());
                }
            }
        }
Beispiel #16
0
        public async void CanUpdateBand()
        {
            using (var setup = new SQLiteInMemorySetup())
            {
                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    context.Database.EnsureCreated();
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    var service = new BandService(context);
                    await service.UpdateBandAsync(1, new Band { Name = "Teszt", Country = "Magyarország", FormedIn = 2020 });
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    Assert.Equal(7, context.Bands.Count());
                    Assert.Equal("Teszt", context.Bands.Find(1).Name);
                }
            }
        }
Beispiel #17
0
        public MainPageViewModelNew()
        {
            //TODO set page title as group name
            pageTitle         = "Hydrapp";
            currentStatus     = "Current Status";
            connectButtonText = "Connect to Band";

            readHR           = "Not Active";
            readSkinTemp     = "Not Active";
            readAmbientLight = "Not Active";;
            readGSR          = "Not Active";
            readUV           = "Not Active";
            readPedometer    = "Not Active";
            readCalories     = "Not Active";
            readFluidLoss    = "Not Active";

            connectButtonEnabled = true;
            bandService          = new BandService();

            getBandList();
            //getBands();
        }
Beispiel #18
0
        public async void CanGetBands()
        {
            using (var setup = new SQLiteInMemorySetup())
            {
                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    context.Database.EnsureCreated();
                }

                using (var context = new ConcertManagerContext(setup.ContextOptions))
                {
                    var         service = new BandService(context);
                    List <Band> bands   = (await service.GetBandsAsync()).ToList();
                    Assert.Equal(7, bands.Count);
                    Assert.Equal("Sabaton", bands[0].Name);
                    Assert.Equal("Beast in Black", bands[1].Name);
                    Assert.Equal("Hammerfall", bands[2].Name);
                    Assert.Equal("Powerwolf", bands[3].Name);
                    Assert.Equal("Nightwish", bands[4].Name);
                    Assert.Equal("Depresszió", bands[5].Name);
                    Assert.Equal("UnitTest", bands[6].Name);
                }
            }
        }
Beispiel #19
0
 public BandController(BandService service)
 {
     _service = service;
 }
Beispiel #20
0
 private async Task InitializeAsync()
 {
     TelemetryService.Default.MessageReceived += OnMessageReceived;
     await BandService.InitializeAsync();
 }