示例#1
0
 public TheFixture()
 {
     _db = new DbContextFixture();
     //Contain all dependency mocking using Moq
     Fixture = new Fixture().Customize(new AutoMoqCustomization());
     //using sqlite for DB mocking
     Fixture.Register(() => _db.databaseContext);
     //HttpHelper.Configure(Fixture.Create<IHttpContextAccessor>());
 }
        public ProductsServiceTestsFixture(DbContextFixture fixture)
        {
            MockCoinsService = new Mock <ICoinsService>();
            MockCoinsService.Setup(x => x.GetValue(It.IsAny <CoinType>())).Returns((CoinType x) => coinTypeValues[x]);
            MockCoinsService.Setup(x => x.DistributeChange(0.1M)).Throws <ArgumentException>();

            ProductRepository = new ProductRepository(fixture.Context);
            ProductsService   = new ProductsService(ProductRepository, MockCoinsService.Object);
        }
示例#3
0
        public void Controller_Get_ById_Should_Be_NoContentResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ContactsController> >().Object;
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            ActionResult <Contact> result = controller.Get(Guid.NewGuid());

            result.Result.Should().BeOfType <NoContentResult>();
        }
        public void Controller_Post_Should_Be_OkResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <InfoTypesController> >().Object;
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            ActionResult <InfoType> result = controller.Post(InfoTypeEntityTypeConfiguration.InfoTypeSeed.ElementAt(0));

            result.Result.Should().BeOfType <OkObjectResult>();
        }
示例#5
0
        public void Controller_Post_Should_Be_OkResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ReportRequestsController> >().Object;
            var repository = new ReportRequestRepository(fixture.context);
            var controller = new ReportRequestsController(logger, repository);
            ActionResult <ReportRequest> result = controller.Post(ReportRequestEntityTypeConfiguration.ReportRequestSeed.First());

            result.Result.Should().BeOfType <OkObjectResult>();
        }
        public void Controller_Get_Should_Be_NoContentResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <InfoTypesController> >().Object;
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            ActionResult <IQueryable <InfoType> > result = controller.Get();

            result.Result.Should().BeOfType <NoContentResult>();
        }
示例#7
0
        public void Controller_Delete_Should_Be_NotFound()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ContactsController> >().Object;
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            var e          = ContactEntityTypeConfiguration.ContactSeed.ElementAt(2);
            ActionResult <Contact> result = controller.Delete(e.Id);

            result.Result.Should().BeOfType <NotFoundResult>();
        }
        public void Controller_Get_ById_Should_Be_NoContentResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <InfoTypesController> >().Object;
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            var e          = InfoTypeEntityTypeConfiguration.InfoTypeSeed.First().Id;
            ActionResult <InfoType> result = controller.Get(e);

            result.Result.Should().BeOfType <NoContentResult>();
        }
        public void Controller_Delete_Should_Be_NotFound()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <InfoTypesController> >().Object;
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            var eid        = InfoTypeEntityTypeConfiguration.InfoTypeSeed.ElementAt(1).Id;
            ActionResult <InfoType> result = controller.Delete(eid);

            result.Result.Should().BeOfType <NotFoundResult>();
        }
        public CheckOutControllerTest(DbContextFixture fixture)
        {
            fixture.Seed();
            var context = new LibraryContext(fixture.ContextOptions);

            controller        = new CheckOutController(context, checkOutServiceMock.Object, new BranchesService(context));
            checkOutViewModel = new CheckOutViewModel
            {
                Barcode  = "QA123:1",
                PatronId = 1
            };
        }
        public void Constructor_MustSet_Properties()
        {
            // Arrange
            var fixture   = new Fixture();
            var dbContext = new DbContextFixture();

            // Act
            var sut = new ReadOnlyRepositoryFixture(dbContext, c => c.TestData);

            // Assert
            Assert.NotNull(sut.Configuration);
        }
示例#12
0
        public void Controller_Get_ById_Should_Be_OkResult()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <ContactsController> >().Object;

            fixture.PopulatePartial();
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            ActionResult <Contact> result = controller.Get(ContactEntityTypeConfiguration.ContactSeed.First().Id);

            result.Result.Should().BeOfType <OkObjectResult>();
        }
示例#13
0
        public void Controller_Get_ByNameSurname_Should_Be_NoContentResult()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ContactsController> >().Object;
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            var name       = ContactEntityTypeConfiguration.ContactSeed.First().Name;
            var surname    = ContactEntityTypeConfiguration.ContactSeed.First().Surname;
            ActionResult <Contact> result = controller.ByNameSurname(name, surname);

            result.Result.Should().BeOfType <NoContentResult>();
        }
示例#14
0
        public void Controller_Post_Should_Be_BadRequest()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <ReportsController> >().Object;

            fixture.PopulateAll();
            var repository = new ReportRepository(fixture.context);
            var controller = new ReportsController(logger, repository);
            ActionResult <Report> result = controller.Post(ReportEntityTypeConfiguration.ReportSeed.ElementAt(1));

            result.Result.Should().BeOfType <BadRequestResult>();
        }
示例#15
0
        public void Controller_Get_Should_Be_OkResult()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <ReportRequestsController> >().Object;

            fixture.PopulatePartial();
            var repository = new ReportRequestRepository(fixture.context);
            var controller = new ReportRequestsController(logger, repository);
            ActionResult <IQueryable <ReportRequest> > result = controller.Get();

            result.Result.Should().BeOfType <OkObjectResult>();
        }
示例#16
0
        public void Constructor_MustSet_Properties()
        {
            // Arrange
            var fixture   = new Fixture();
            var dbContext = new DbContextFixture();

            // Act
            var sut = new RepositoryFixture(dbContext, c => c.TestData);

            // Assert
            Assert.Equal(dbContext, sut.Configuration.Context);
            Assert.Equal(dbContext.TestData, sut.Configuration.DbSet);
        }
示例#17
0
        public void Controller_Delete_Should_Be_OkResult()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <ReportRequestsController> >().Object;

            fixture.PopulatePartial();
            var repository = new ReportRequestRepository(fixture.context);
            var controller = new ReportRequestsController(logger, repository);
            var eid        = ReportRequestEntityTypeConfiguration.ReportRequestSeed.ElementAt(0).Id;
            ActionResult <ReportRequest> result = controller.Delete(eid);

            result.Result.Should().BeOfType <OkObjectResult>();
        }
示例#18
0
        public void Controller_Patch_Should_Be_BadRequest()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ReportRequestsController> >().Object;
            var repository = new ReportRequestRepository(fixture.context);
            var controller = new ReportRequestsController(logger, repository);
            var e          = ReportRequestEntityTypeConfiguration.ReportRequestSeed.ElementAt(0);
            var delta      = new Delta <ReportRequest>(typeof(ReportRequest));

            delta.TrySetPropertyValue(nameof(ReportRequest.Location), e.Location);
            ActionResult <ReportRequest> result = controller.Patch(e.Id, delta);

            result.Result.Should().BeOfType <BadRequestResult>();
        }
        public void Controller_Put_Should_Be_BadRequest()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ReportStatesController> >().Object;
            var repository = new ReportStateRepository(fixture.context);
            var controller = new ReportStatesController(logger, repository);
            var e          = ReportStateEntityTypeConfiguration.ReportStateSeed.ElementAt(1);
            var delta      = new Delta <ReportState>(typeof(ReportState));

            delta.TrySetPropertyValue(nameof(ReportState.Name), e.Name as object);
            ActionResult <ReportState> result = controller.Put(e.Id, delta);

            result.Result.Should().BeOfType <BadRequestResult>();
        }
示例#20
0
        public void Controller_Delete_Should_Be_OkResult()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <InfosController> >().Object;

            fixture.PopulatePartial();
            var repository             = new InfoRepository(fixture.context);
            var controller             = new InfosController(logger, repository);
            var entity                 = InfoEntityTypeConfiguration.InfoSeed.ElementAt(1);
            var e                      = repository.Find(entity.ContactId as object, entity.InfoTypeId as object).Result;
            ActionResult <Info> result = controller.Delete(e.ContactId, e.InfoTypeId);

            result.Result.Should().BeOfType <OkObjectResult>();
        }
        public void Controller_Patch_Should_Be_BadRequest()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <InfoTypesController> >().Object;
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            var e          = InfoTypeEntityTypeConfiguration.InfoTypeSeed.ElementAt(2);
            var delta      = new Delta <InfoType>(typeof(InfoType));

            delta.TrySetPropertyValue(nameof(InfoType.Name), e.Name);
            ActionResult <InfoType> result = controller.Patch(e.Id, delta);

            result.Result.Should().BeOfType <BadRequestResult>();
        }
示例#22
0
        public void Controller_Put_Should_Be_BadRequest()
        {
            var fixture    = new DbContextFixture();
            var logger     = new Mock <ILogger <ContactsController> >().Object;
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            var e          = ContactEntityTypeConfiguration.ContactSeed.ElementAt(2);
            var delta      = new Delta <Contact>(typeof(Contact));

            delta.TrySetPropertyValue(nameof(Contact.Name), e.Name);
            ActionResult <Contact> result = controller.Put(e.Id, delta);

            result.Result.Should().BeOfType <BadRequestResult>();
        }
示例#23
0
        public async Task ShouldFindMatch_WhenCatsAreAvailable()
        {
            using (var dbContext = DbContextFixture.GetDbContext())
            {
                IMatchService service    = new MatchService(dbContext, new RankingService(RankingValues.Limit, RankingValues.EvolutionCoef));
                ICatService   catService = new CatService(new HttpService(), dbContext, IConfigMock.GetCatsMock());
                await catService.InjectCats().ConfigureAwait(false); // Prepare cats

                MatchIds matchIds = await service.FindMatchAsync().ConfigureAwait(false);

                Assert.NotEqual(0, matchIds.Left);
                Assert.NotEqual(0, matchIds.Right);
            }
        }
示例#24
0
        public void Controller_Delete_Should_Be_OkResult()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <ContactsController> >().Object;

            fixture.PopulatePartial();
            var repository = new ContactRepository(fixture.context);
            var controller = new ContactsController(logger, repository);
            var e          = ContactEntityTypeConfiguration.ContactSeed.ElementAt(0);

            repository.Find(e.Id as object);
            ActionResult <Contact> result = controller.Delete(e.Id);

            result.Result.Should().BeOfType <OkObjectResult>();
        }
示例#25
0
        public async Task ShouldLoadCatWithDependency_WhenFilterAskTo()
        {
            using (var dbContext = DbContextFixture.GetDbContext())
            {
                var service = new CatService(new HttpService(), dbContext, IConfigMock.GetCatsMock());
                var cat     = await service.Get(1, new RequestOptions()
                {
                    IncludeMatchHistory = true
                }).ConfigureAwait(false);

                Assert.NotNull(cat);
                Assert.NotNull(cat.Rank);
                Assert.NotNull(cat.Informations);
                Assert.Empty(cat.Informations.History);
            }
        }
示例#26
0
        public async Task ShouldInjectCats_ProvidedByApi()
        {
            using (var dbContext = DbContextFixture.GetDbContext())
            {
                var service       = new CatService(new HttpService(), dbContext, IConfigMock.GetCatsMock());
                var previousCount = dbContext.Cats.Count();

                await service.InjectCats().ConfigureAwait(false);

                Cat[] cats = dbContext.Cats.ToArray();

                Assert.NotNull(cats);
                Assert.NotEmpty(cats);
                Assert.True(previousCount == cats.Length);
            }
        }
示例#27
0
        public async Task ShouldUpdateEloRank_WhenLeftSideWin()
        {
            using (var dbContext = DbContextFixture.GetDbContext())
            {
                IMatchService service = new MatchService(dbContext, new RankingService(RankingValues.Limit, RankingValues.EvolutionCoef));
                int           cat1 = 1, winner = 1, cat2 = 2;

                var elos = await LoadElo(cat1, cat2, dbContext).ConfigureAwait(false);

                await service.MatchAsync(cat1, cat2, winner).ConfigureAwait(false);

                var newElos = await LoadElo(cat1, cat2, dbContext).ConfigureAwait(false);

                Assert.NotEqual(elos.EloLeft, newElos.EloLeft);
                Assert.NotEqual(elos.EloRight, newElos.EloRight);
            }
        }
        public ScanStation_WhenNothingCheckedOutTest(DbContextFixture fixture)
        {
            fixture.Seed();
            context         = new LibraryContext(fixture.ContextOptions);
            patronsService  = new PatronsService(context);
            holdingsService = new HoldingsService(context);

            classificationServiceMock = new Mock <IClassificationService>();
            classificationService     = classificationServiceMock.Object;
            AlwaysReturnBookMaterial(classificationServiceMock);

            somePatronId = patronsService.Create(new Patron {
                Name = "x"
            });

            scanner = new ScanStation(context, 1, classificationService, new HoldingsService(context),
                                      new PatronsService(context));
        }
        public ScanStation_WhenNewMaterialCheckedOutTest(DbContextFixture fixture)
        {
            fixture.Seed();
            context         = new LibraryContext(fixture.ContextOptions);
            holdingsService = new HoldingsService(context);
            patronsService  = new PatronsService(context);

            classificationServiceMock = new Mock <IClassificationService>();
            classificationService     = classificationServiceMock.Object;

            scanner = new ScanStation(context, 1, classificationService, holdingsService, patronsService);

            savedPatronId = patronsService.Create(new Patron {
                Name = ""
            });

            CheckOutNewMaterial();
        }
        public void Controller_Put_Should_Be_badRequest()
        {
            var fixture = new DbContextFixture();
            var logger  = new Mock <ILogger <InfoTypesController> >().Object;

            fixture.PopulateAll();
            var repository = new InfoTypeRepository(fixture.context);
            var controller = new InfoTypesController(logger, repository);
            var eid        = InfoTypeEntityTypeConfiguration.InfoTypeSeed.ElementAt(1).Id;
            var e          = repository.Find(eid as object).Result;

            e.Name = "Gg";
            var delta = new Delta <InfoType>(typeof(InfoType));

            delta.TrySetPropertyValue(nameof(InfoType.Name), e.Name);
            ActionResult <InfoType> result = controller.Put(e.Id, delta);

            result.Result.Should().BeOfType <BadRequestResult>();
        }