Example #1
0
        public async Task ShouldRetrieveAssignmentAttachmentByIdAsync()
        {
            // given
            AssignmentAttachment randomAssignmentAttachment   = CreateRandomAssignmentAttachment();
            AssignmentAttachment storageAssignmentAttachment  = randomAssignmentAttachment;
            AssignmentAttachment expectedAssignmentAttachment = storageAssignmentAttachment;

            this.storageBrokerMock.Setup(broker =>
                                         broker.SelectAssignmentAttachmentByIdAsync(
                                             randomAssignmentAttachment.AssignmentId,
                                             randomAssignmentAttachment.AttachmentId))
            .ReturnsAsync(randomAssignmentAttachment);

            // when
            AssignmentAttachment actualAssignmentAttachment = await
                                                              this.assignmentAttachmentService.RetrieveAssignmentAttachmentByIdAsync(
                randomAssignmentAttachment.AssignmentId,
                randomAssignmentAttachment.AttachmentId);

            // then
            actualAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);

            this.storageBrokerMock.Verify(broker =>
                                          broker.SelectAssignmentAttachmentByIdAsync(
                                              randomAssignmentAttachment.AssignmentId,
                                              randomAssignmentAttachment.AttachmentId),
                                          Times.Once);

            this.storageBrokerMock.VerifyNoOtherCalls();
            this.loggingBrokerMock.VerifyNoOtherCalls();
        }
Example #2
0
        public async Task ShouldAddAttachmentAttachmentAsync()
        {
            // given
            AssignmentAttachment randomAssignmentAttachment   = CreateRandomAssignmentAttachment();
            AssignmentAttachment inputAssignmentAttachment    = randomAssignmentAttachment;
            AssignmentAttachment storageAssignmentAttachment  = randomAssignmentAttachment;
            AssignmentAttachment expectedAssignmentAttachment = storageAssignmentAttachment;

            this.storageBrokerMock.Setup(broker =>
                                         broker.InsertAssignmentAttachmentAsync(inputAssignmentAttachment))
            .ReturnsAsync(storageAssignmentAttachment);

            // when
            AssignmentAttachment actualAttachmentAttachment =
                await this.assignmentAttachmentService.AddAssignmentAttachmentAsync(inputAssignmentAttachment);

            // then
            actualAttachmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);

            this.storageBrokerMock.Verify(broker =>
                                          broker.InsertAssignmentAttachmentAsync(inputAssignmentAttachment),
                                          Times.Once);

            this.storageBrokerMock.VerifyNoOtherCalls();
            this.loggingBrokerMock.VerifyNoOtherCalls();
        }
Example #3
0
        public async Task ShouldGetAllAssignmentAttachmentsAsync()
        {
            // given
            var randomAssignmentAttachments = new List <AssignmentAttachment>();

            for (var i = 0; i <= GetRandomNumber(); i++)
            {
                AssignmentAttachment randomAssignmentAttachment = await PostAssignmentAttachmentAsync();

                randomAssignmentAttachments.Add(randomAssignmentAttachment);
            }

            List <AssignmentAttachment> inputAssignmentAttachments    = randomAssignmentAttachments;
            List <AssignmentAttachment> expectedAssignmentAttachments = inputAssignmentAttachments;

            // when
            List <AssignmentAttachment> actualAssignmentAttachments =
                await this.otripleSApiBroker.GetAllAssignmentAttachmentsAsync();

            // then
            foreach (AssignmentAttachment expectedAssignmentAttachment in expectedAssignmentAttachments)
            {
                AssignmentAttachment actualAssignmentAttachment =
                    actualAssignmentAttachments.Single(studentAttachment =>
                                                       studentAttachment.AssignmentId == expectedAssignmentAttachment.AssignmentId);

                actualAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);

                await DeleteAssignmentAttachmentAsync(actualAssignmentAttachment);
            }
        }
        public async Task ShouldRemoveAssignmentAttachmentAsync()
        {
            // given
            var  randomAssignmentId = Guid.NewGuid();
            var  randomAttachmentId = Guid.NewGuid();
            Guid inputAssignmentId  = randomAssignmentId;
            Guid inputAttachmentId  = randomAttachmentId;
            AssignmentAttachment randomAssignmentAttachment = CreateRandomAssignmentAttachment();

            randomAssignmentAttachment.AssignmentId = inputAssignmentId;
            randomAssignmentAttachment.AttachmentId = inputAttachmentId;
            AssignmentAttachment storageAssignmentAttachment  = randomAssignmentAttachment;
            AssignmentAttachment expectedAssignmentAttachment = storageAssignmentAttachment;

            this.storageBrokerMock.Setup(broker =>
                                         broker.SelectAssignmentAttachmentByIdAsync(inputAssignmentId, inputAttachmentId))
            .ReturnsAsync(storageAssignmentAttachment);

            this.storageBrokerMock.Setup(broker =>
                                         broker.DeleteAssignmentAttachmentAsync(storageAssignmentAttachment))
            .ReturnsAsync(expectedAssignmentAttachment);

            // when
            AssignmentAttachment actualAssignmentAttachment =
                await this.assignmentAttachmentService.RemoveAssignmentAttachmentByIdAsync(inputAssignmentId, inputAttachmentId);

            // then
            actualAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);

            this.storageBrokerMock.Verify(broker =>
                                          broker.SelectAssignmentAttachmentByIdAsync(inputAssignmentId, inputAttachmentId),
                                          Times.Once);

            this.storageBrokerMock.Verify(broker =>
                                          broker.DeleteAssignmentAttachmentAsync(storageAssignmentAttachment),
                                          Times.Once);

            this.storageBrokerMock.VerifyNoOtherCalls();
            this.loggingBrokerMock.VerifyNoOtherCalls();
            this.dateTimeBrokerMock.VerifyNoOtherCalls();
        }
Example #5
0
        public async Task ShouldPostAssignmentAttachmentAsync()
        {
            // given
            AssignmentAttachment randomAssignmentAttachment = await CreateRandomAssignmentAttachment();

            AssignmentAttachment inputAssignmentAttachment    = randomAssignmentAttachment;
            AssignmentAttachment expectedAssignmentAttachment = inputAssignmentAttachment;

            // when
            AssignmentAttachment actualAssignmentAttachment =
                await this.otripleSApiBroker.PostAssignmentAttachmentAsync(inputAssignmentAttachment);

            AssignmentAttachment retrievedAssignmentAttachment =
                await this.otripleSApiBroker.GetAssignmentAttachmentByIdsAsync(
                    inputAssignmentAttachment.AssignmentId,
                    inputAssignmentAttachment.AttachmentId);

            // then
            actualAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);
            retrievedAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);
            await DeleteAssignmentAttachmentAsync(actualAssignmentAttachment);
        }
Example #6
0
        public async Task ShouldDeleteAssignmentAttachmentAsync()
        {
            // given
            AssignmentAttachment randomAssignmentAttachment = await PostAssignmentAttachmentAsync();

            AssignmentAttachment inputAssignmentAttachment    = randomAssignmentAttachment;
            AssignmentAttachment expectedAssignmentAttachment = inputAssignmentAttachment;

            // when
            AssignmentAttachment deletedAssignmentAttachment =
                await DeleteAssignmentAttachmentAsync(inputAssignmentAttachment);

            ValueTask <AssignmentAttachment> getAssignmentAttachmentByIdTask =
                this.otripleSApiBroker.GetAssignmentAttachmentByIdsAsync(
                    inputAssignmentAttachment.AssignmentId,
                    inputAssignmentAttachment.AttachmentId);

            // then
            deletedAssignmentAttachment.Should().BeEquivalentTo(expectedAssignmentAttachment);

            await Assert.ThrowsAsync <HttpResponseNotFoundException>(() =>
                                                                     getAssignmentAttachmentByIdTask.AsTask());
        }