AssignmentOS Lecturer & TA User Guide
  • 👋Welcome to AssignmentOS!
  • 🖌️Create Custom Assignment
    • 1️⃣Select/Create Course
    • 2️⃣Choose Language/Framework
    • 3️⃣Set Deadline
    • 4️⃣Add Description & Starter Code
    • 5️⃣Define Grading Criteria
  • 🤖Automated Grading
    • Automated Test-Suite Scoring
    • Hidden Tests
    • Language/Framework Guides
      • Java (Maven)
      • Java (Gradle)
      • Kotlin (Maven)
      • Kotlin (Gradle)
      • Scala
      • JavaScript
      • TypeScript
      • Python
      • Ruby
      • Go
      • PHP
      • .NET
      • C++
      • Rust
      • Haskell
      • Elixir
      • Solidity
      • SQL
      • Swift
      • R
      • Web
      • Angular
      • AngularJS
      • React
      • React Native
      • Vue.js
      • Svelte
      • Elm
      • Rails
      • Django
      • WordPress
      • Terraform
      • Ansible
      • Powershell
      • Full-Stack
  • 📤Sending Assignments
    • From UI
    • From LMS
    • From API
  • 🔎Tracking
    • Student Tracking
    • Self-Tracking For Students
  • 👁️Reviewing Results
    • View Score & Status
    • View Report
    • View AI Feedback
  • 💬Feedback
    • Leaving Feedback In-App
    • Leaving Feedback in GitHub/GitLab Repo
  • 🤹Management
    • Manage Courses
      • Create New Course
      • Duplicate Course
      • Delete Course
    • Manage Assignments
      • Update Assignment
      • Delete Assignment
    • Manage Users
      • Add New Users
      • User Roles
      • Delete Users
  • 🤍White-Labelling
    • Editing Email Templates
    • Editing From Email Address
  • 💫LMS Integrations
    • Moodle
      • 1️⃣Connect AssignmentOS
      • 2️⃣Add Assignment
      • 3️⃣Access Assignment
        • As a Lecturer/TA
        • As a Student
    • Blackboard
    • Canvas
      • 1️⃣Connect AssignmentOS
      • 2️⃣Add Assignment
      • 3️⃣Access Assignment
        • As a Lecturer/TA
        • As Student
    • Brightspace
    • Schoology
  • 🔐Plagiarism Checker
    • Plagiarism Checker
  • 📊Analytics
    • Course Level
    • Assignment Level
  • ⚙️API
    • Workflow
    • Authentication
    • Endpoints
      • Load Assignments Endpoint
      • Start Assignment Endpoint
      • Load Assignment Instance Endpoint
    • Error Responses
  • ❓FAQ
    • Can I edit an assignment after I send it?
Powered by GitBook
On this page

Was this helpful?

  1. Automated Grading
  2. Language/Framework Guides

React Native

PreviousReactNextVue.js

Last updated 1 year ago

Was this helpful?

To create a new assignment in React Native, click into one of your courses, and then click Add assignment. Choose React Native from the drop-down list of available frontend frameworks and set the the rest of your assignment's parameters (deadline, etc.). Once the assignment is created, a new folder will be created in the private GitHub/GitLab template repository for the course in which you are added this assignment. This folder will contain a standard React Native project (created with ) structure.

Automated test-suite setup

If you would like to add tests that are automatically run by AssignmentOS against each student's solution to your assignment, you can add these as end-to-end tests.

All end-to-end tests must use the E2E test framework.

All end-to-end test filenames must end with .cy.js, and end-to-end test files with filenames that end with -hidden.cy.js will not be visible to the student.

If you want to add files that your hidden tests use and hence are also not visible to the student, the names of these files must begin with hidden, e.g., hiddenFoo.json, hiddenFoo.csv, hidden-foo.ts, etc.

The package.json file may only be changed if you want to add third-party libraries to your assignment. All the current versions of the dependencies in package.json and package-lock.json must not be changed.

The other config files in the template repo must also not be changed, including the babel.config.js and cypress.config.js files.

GitHub Action & GitLab CI/CD

AssignmentOS uses either GitHub Actions or GitLab CI/CD (depending on whether you use with GitHub or GitLab) to run automated unit tests. We provide the following GitHub Action & GitLab CI/CD file for React Native assignments. Note that this file is added dynamically to the repo of each student taking your assignment, so please do not include it in your template repo. This file also cannot be changed.

GitHub Action .yml file
GitLab CI/CD .yml file

Coming soon!

🤖
name: React Native CI

on: push

jobs:

  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install dependencies
        run: npm install

      - name: Install Expo CLI
        run: npm i -g expo-cli

      - name: Check Cypress tests exist
        id: check_cypress_tests
        uses: andstor/file-existence-action@v1
        with:
          files: "cypress/e2e/"

      - name: Install and run Cypress tests
        uses: cypress-io/github-action@v4
        if: steps.check_cypress_tests.outputs.files_exists == 'true'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          build: npm run build --if-present
          start: npm run web
          wait-on: 'http://localhost:19006'
Expo
Cypress