-- This file is part of SystemTestPortal.
-- Copyright (C) 2017  Institute of Software Technology, University of Stuttgart
-- 
-- SystemTestPortal is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
-- 
-- SystemTestPortal is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
-- 
-- You should have received a copy of the GNU General Public License
-- along with SystemTestPortal.  If not, see <http://www.gnu.org/licenses/>.

-- +migrate Up
CREATE TABLE test_case_protocols (
    id INTEGER PRIMARY KEY,
    protocol_nr INTEGER, 
    test_case INTEGER NOT NULL REFERENCES test_cases(id) ON DELETE CASCADE,
    test_version INTEGER,
    test_sequence INTEGER,
    project_row_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
    tester VARCHAR(255),
    sut_version VARCHAR(255),
    sut_variant VARCHAR(255),
    execution_date TIMESTAMP, 
    result VARCHAR(255),
    comment VARCHAR(255),
    other_needed_time INTEGER
);

CREATE TABLE test_case_step_protocols (
    id INTEGER PRIMARY KEY,
    test_case INTEGER NOT NULL REFERENCES test_case_protocols(id) ON DELETE CASCADE,
    case_protocol INTEGER NOT NULL,
    needed_time INTEGER, 
    observed_behavior  VARCHAR(255),
    result VARCHAR(255),
    comment VARCHAR(255),
    visited INTEGER
);

CREATE TABLE test_sequence_protocols (
    id INTEGER PRIMARY KEY, 
    protocol_nr INTEGER, 
    test_sequence INTEGER NOT NULL REFERENCES test_sequences(id) ON DELETE CASCADE,
    test_version INTEGER,   
    project_row_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
    result VARCHAR(255),
    tester VARCHAR(255),
    sut_version VARCHAR(255),
    sut_variant VARCHAR(255),
    execution_date TIMESTAMP, 
    other_needed_time INTEGER
);

-- +migrate Down
DROP TABLE test_case_protocols;
DROP TABLE test_case_step_protocols;
DROP TABLE test_sequence_protocols;