Example #1
0
        public async Task adding_lesson_async_to_invalid_teacher_should_return_errorcode_teacher_not_found()
        {
            var email    = "*****@*****.**";
            var password = "******";
            var user     = await GetUserAsync(email);

            var token = await GetTokenAsync(email, password);

            var command = new AddLesson
            {
                Name         = "Biology",
                Category     = "Science",
                PricePerHour = 5M,
                Grade        = "Elementary"
            };

            var payload = GetPayload(command);

            var request = CreateRequest("http://localhost:5000/lessons", payload,
                                        new Dictionary <string, string>
            {
                { "Authorization", $"Bearer {token}" },
                { "Content-type", $"application/json" }
            }
                                        );

            var response = await request.PostAsync();

            var exceptionMessage = await GetExceptionCodeAndMessageAsync(response);

            exceptionMessage.errorCode.ShouldBeEquivalentTo(ServiceErrorCodes.TeacherNotFound);
        }
Example #2
0
        public async Task adding_lesson_async_should_return_no_content()
        {
            var email    = "*****@*****.**";
            var password = "******";
            var user     = await GetUserAsync(email);

            var token = await GetTokenAsync(email, password);

            var command = new AddLesson
            {
                Name         = "Biology",
                Category     = "Science",
                PricePerHour = 5M,
                Grade        = "Elementary"
            };

            var payload = GetPayload(command);

            var request = CreateRequest("http://localhost:5000/lessons", payload,
                                        new Dictionary <string, string>
            {
                { "Authorization", $"Bearer {token}" },
                { "Content-type", $"application/json" }
            }
                                        );

            var response = await request.PostAsync();

            response.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.NoContent);
        }
Example #3
0
        public async Task <IActionResult> Post([FromBody] AddLesson command)
        {
            await DispatchAsync(command);

            return(NoContent());
        }