Ejemplo n.º 1
0
        public void ControllerShouldBeCreated()
        {
            var controller = new ClassRoomsController(new FakeClassService());

            // controller.Request = new System.Net.Http.HttpRequestMessage();


            // according to https://stackoverflow.com/questions/19936892/how-do-i-unit-test-web-api-action-method-when-it-returns-ihttpactionresult
            //controller.Request = new HttpRequestMessage() {
            //    Properties = {
            //        {
            //            HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()
            //        }
            //    }
            //};
            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();


            controller.RequestContext = new System.Web.Http.Controllers.HttpRequestContext();


            var c1 = new Claim(ClaimTypes.Name, "WebApiUser");
            var c2 = new Claim(ClaimTypes.Role, "User");
            var c3 = new Claim(ClaimTypes.Role, "PowerUser");

            var principal = new ClaimsPrincipal();
            var identity  = new ClaimsIdentity();

            identity.AddClaim(c1);
            identity.AddClaim(c2);
            identity.AddClaim(c3);

            principal.AddIdentity(identity);
            var server = TestServer.Create <Startup>();

            controller.RequestContext.Principal = principal;

            var result        = controller.GetClassRoomById(2);
            var contentResult = result as OkNegotiatedContentResult <ClassRoomDto>;

            var theDto = contentResult.Content;

            // Sync
            //var someResult = result.ExecuteAsync(CancellationToken.None).Result;
            //var stringTrueResult = someResult.Content.ReadAsStringAsync().Result;

            // Async
            //var trueResult = await result.ExecuteAsync(new System.Threading.CancellationToken());
            //var stringResult = await trueResult.Content.ReadAsStringAsync();
            Assert.AreEqual("5a", theDto.Name);
        }
        //kiekvienoj implementuojancioj klasej prisidedam duomenis
        //per kiekviena testu paleidima jie is naujo sukuriami ir poto panaikinami

        //atrkreipt demesi kad ID kiekviena karta didesnis, t..y niekada nebus tas pats,
        //todel juo geriau nepasitiket
        public ClassRoomsControllerTest() : base()
        {
            controller = new ClassRoomsController(context);

            context.ClassRooms.Add(new ClassRoom()
            {
                IsPCavailable  = false,
                Name           = "101",
                NumberOfPlaces = 27,
                Type           = "Teorine"
            });

            context.ClassRooms.Add(new ClassRoom()
            {
                IsPCavailable  = true,
                Name           = "101",
                NumberOfPlaces = 69,
                Type           = "Praktine"
            });

            context.SaveChanges();
        }