예제 #1
0
        public async Task GetAllBatchesByTCShouldGetAllByTCAsync()
        {
            //Arrange (create a moq repo and use it for the controller)
            var mockRepo = ApiTestData.MockBatchRepo(ApiTestData.Batches.ToList());
            var options  = TestDbInitializer.InitializeDbOptions("GetAllBatchesByTCShouldGetAllByTCAsync");

            using var db = TestDbInitializer.CreateTestDb(options);
            var mapper = new Mapper();

            var mockLogger         = new Mock <ILogger <TenantController> >();
            var mockAddressService = new Mock <IAddressService>();
            var controller         = new TenantController(mockRepo.Object, mockAddressService.Object, mockLogger.Object);


            //Act (get all batches)

            var result = await controller.GetAllBatches("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d");

            //Assert

            var ok      = Assert.IsAssignableFrom <OkObjectResult>(result.Result);
            var batches = Assert.IsAssignableFrom <System.Collections.Generic.List <Lib.Models.Batch> >(ok.Value);

            Assert.NotNull(batches);
        }
예제 #2
0
        public async Task UpdateAsyncShouldReturnStatusCode204()
        {
            //Arrange (create a moq repo and use it for the controller)
            var mockRepo = ApiTestData.MockBatchRepo(ApiTestData.Batches.ToList());
            var options  = TestDbInitializer.InitializeDbOptions("GetAllBatchesByTCShouldGetAllByTCAsync");

            using var db = TestDbInitializer.CreateTestDb(options);
            var mapper = new Mapper();

            var mockLogger         = new Mock <ILogger <TenantController> >();
            var mockAddressService = new Mock <IAddressService>();
            var controller         = new TenantController(mockRepo.Object, mockAddressService.Object, mockLogger.Object);

            //Act
            var apiTenant = new ApiTenant
            {
                Id             = Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"),
                Email          = "*****@*****.**",
                Gender         = "male",
                FirstName      = "Colton",
                LastName       = "Clary",
                AddressId      = Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"),
                TrainingCenter = Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"),
                ApiBatch       = new ApiBatch
                {
                    TrainingCenter  = Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"),
                    Id              = 1,
                    BatchCurriculum = "c#"
                },
                ApiCar = new ApiCar
                {
                    Id           = 1,
                    Color        = "y",
                    LicensePlate = "123",
                    Make         = "s",
                    Model        = "2",
                    State        = "w",
                    Year         = "l"
                },
                ApiAddress = new ApiAddress
                {
                    State     = "sdl",
                    AddressId = Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"),
                    City      = "l",
                    Country   = "l",
                    Street    = "s",
                    ZipCode   = "l"
                }
            };
            var result = await controller.UpdateAsync(apiTenant);

            //Assert
            _ = Assert.IsAssignableFrom <StatusCodeResult>(result);
        }
예제 #3
0
        public void ConstructorShouldConstruct()
        {
            // arrange (create database)
            var mockLogger         = new Mock <ILogger <TenantController> >();
            var mockAddressService = new Mock <IAddressService>();
            var options            = TestDbInitializer.InitializeDbOptions("TestTenantControllerConstructor");

            using var database = TestDbInitializer.CreateTestDb(options);
            var mapper = new Mapper();

            // act (pass repository with database into controller)
            var test = new TenantController(new TenantRepository(database, mapper), mockAddressService.Object, mockLogger.Object);

            // assert (test passes if no exception thrown)
        }
예제 #4
0
        public async Task DeleteShouldReturnStatusCode204()
        {
            //Arrange (create a moq repo and use it for the controller)
            var mockRepo = ApiTestData.MockBatchRepo(ApiTestData.Batches.ToList());
            var options  = TestDbInitializer.InitializeDbOptions("DeleteShouldReturnStatusCode204");

            using var db = TestDbInitializer.CreateTestDb(options);
            var mapper = new Mapper();

            var mockLogger         = new Mock <ILogger <TenantController> >();
            var mockAddressService = new Mock <IAddressService>();
            var controller         = new TenantController(mockRepo.Object, mockAddressService.Object, mockLogger.Object);

            //Act
            var result = await controller.DeleteAsync(Guid.Parse("fa4d6c6e-9650-44c9-8c6b-5aebd3f9a67d"));

            //Assert
            _ = Assert.IsAssignableFrom <StatusCodeResult>(result);
        }